体感手环控制幻灯片翻页方法及装置设计
2019-03-19,
,
(华南理工大学广州学院 电气工程学院,广州 510800)
0 引言
微软公司PowerPoint软件设计的演示文稿PPT课件,在学校教室或者实验室的课堂多媒体教学中普遍使用[1]。通过计算机键盘或鼠标可以对PPT幻灯片进行放映,对上一幻灯片或下一幻灯片进行翻页控制等,但在实际应用中,为了达到更好的教学互动效果,教师往往并不是一直对着计算机进行操作,而是需要遥控PPT幻灯片的翻页等,于是用于教学的激光笔应运而生,很好地解决了遥控PPT幻灯片翻页的问题[2]。在教师课堂讲授过程中,需要始终手握激光笔,对于需要双手配合的复式手势讲解重点和难点知识的情景,严重阻碍了教师手势讲解等方面传情达意的作用。针对这些问题,本文运用体感技术中的惯性感测设计了一种体感手环教学控制系统,不需要手握任何设备就可以进行计算机PowerPoint软件遥控翻页,把教师的双手回归到教学手势的讲解和演示,有效缓解手握激光笔对教学现场氛围的影响,促进教学效果的提升。
1 体感手势动作识别方法
体感技术根据感知方式与原理的不同,主要可分为惯性感测、光学感测以及惯性与光学联合感测三类[3]。体感手环教学控制系统应用惯性感测技术,只需要教师佩戴体感无线手环,对教师特定手势动作的识别,即可遥控幻灯片翻页,从而能够让教师在课堂上真正把双手解放出来,用于教学的手势辅助讲解和演示,给予师生最大程度的沟通和交流,从而提高教与学的效果。
1.1 手势动作定义
教师授课过程中可能会出现各种各样的手势动作,但只有特定的被定义了的手势动作才会用于系统的控制,所以必须严格定义手势动作。手势动作必须具有操作简单、容易重复、便于学习和记忆、可靠识别等原则和特点,本系统定义了如表1所示的两种手势动作,分别用于控制PowerPoint软件向上和向下翻页。
1.2 手势动作信号感知与预处理
手势动作由6轴运动处理组件MPU6050传感器采集数据。MPU6050里面集成了3轴陀螺仪和3轴加速度计,与分立传感器组合相比,具有体积小,精度高,两种传感器轴间差小等优点,特别适用于穿戴式电子产品。
表1 模拟燃料组件测量实验
1.2.1 手势信号感知与预处理原理
在角度测量时,除了手势动作有效角度变化的信号外,还伴随着因讲解过程中各种手势动作而产生的噪声,这个噪声会随着不同的使用者而不同。微处理器通过多次重复得到陀螺仪的角速率数据,这样的处理方法存在累积漂移误差,不适合长久单独工作。为了减少手势动作信号的误差,采用加速度计和陀螺仪的信号进行融合[4],通过一种简易的姿态解算和卡尔曼滤波算法进行数据处理,从而得到最优手势动作的加速度值、角速度值和角度值。信号感知与预处理原理如图1所示。
图1 信号感知与预处理原理
1.2.2 手势动作姿态解算
对教学过程中手势动作采用普通的姿态角进行解算,主要是基于三轴加速度的值进行三角函数运算等简单的姿态解算原理。
首先从MPU6050的加速度计中分别获取X轴、Y轴、Z轴三个方向数据,如式(1)所示:
(1)
得到数据后进行转化,根据MPU6050加速度转化公式(2)进行量化:
(2)
从而得到加速度值,取值范围0~1,即多少个重力加速度(g)。之后用反三角函数进行运算,弧度制的角度计算公式如式(3)所示:
(3)
计算得到弧度制的角度X,再乘180除以π即可得到X轴的角度值A_Ax,同理可分别计算得到Y轴和Z轴的角度值。
1.2.3 卡尔曼滤波算法
因为加速度计是震动敏感型传感器,对于持续测量更为擅长,而陀螺仪输出的数据是多少度一秒,据此进行积分,对于短暂测量更为合适。加速度计和陀螺仪相互取长补短,可以得到短时间内动作的姿态。
以姿态角度值和陀螺仪输出的角速率偏差为系统状态变量,通过综合考虑两个传感器数据的共同作用,构建标准形式的离散状态方程:
X(k)=AX(k-1)+BU(k-1)+W(k-1)
(4)
式(4)中,X(k)是状态变量,A、B分别是系统矩阵和控制输入矩阵,U(k-1)是陀螺仪在k-1时刻输出的角速率,W是系统高斯白噪声。
为降低直至接近没有传感器的零漂误差和积分误差,通过加速度计获取的角度值Z(k)对姿态角调整,也就是数据融合,构建标准形式的量测方程:
Z(k)=HX(k)+V(k)
(5)
式(5)中,H是量测矩阵,V(k)是量测高斯白噪声。在式(4)和式(5)的基础上,结合经典的卡尔曼滤波理论,编写简单程序实现数值计算的迭代过程。首先由k-1时刻的最优估计值来预测当前时刻的状态值[5]:
X(k|k-1)=AX(k-1|k-1)+BU(k-1)
(6)
式(6)中,X(k-1 |k-1)是k-1时刻系统的最优估计值,X(k|k-1)是k时刻的初步预测值。预测误差的协方差用P(k|k-1)表示,则有:
P(k|k-1)=AP(k-1|k-1)AT+Q
(7)
式(7)中,P(k|k-1)是X(k|k-1)对应的协方差,P(k-1 |k-1)是X(k-1 |k-1)对应的协方差,Q是系统噪声协方差。然后由初步预测值X(k|k-1),结合当前时刻的测量值Z(k)即可得到当前时刻的最优估计值[6]:
X(k|k)=X(k|k-1)+Kg(k)[Z(k)-HX(k|k-1)]
(8)
式(8)中,Kg(k)是卡尔曼增益,可表示为:
(9)
式(9)中,R是量测噪声协方差。为了让运算可以自动迭代下去,还需要更新当前时刻最优估计值的协方差[6]:
P(k|k)=[I-Kg(k)H]P(k|k-1)
(10)
式(10)中,I是1的矩阵。当运行到k+1状态时,P(k|k)就是式(7)中的P(k-1|k-1),所以,程序自回归地继续运算。
卡尔曼滤波是一种递归的估算,就是一个先进行估计,再根据实际测量的值对卡尔曼参数进行修改,最后再算误差。比方说估算k+1时刻手势动作的实际角度值,首先要根据k时刻的角度值来预测得到k+1时刻的角度值,这就是先进行估计;再根据k+1时刻的预测角度值和高斯噪声的方差,进行递归运算,调整参数,直到获得最优的手势动作角度值[4]。
1.3 手势特征提取
在定义好手势动作的基础上,经过手势动作信号感知与预处理得到加速度值、角速度值和角度值,接下来如何准确提取描述手势动作特征的物理量则是核心问题,并且必须合理去除用户的一些无意识的误动作的手势,提高有效手势动作凸显存在差异的运动学特性。本文通过手势起终点、手势长度、手势能量[7]、波峰数等四个特征,分析手势动作的有效性。
1.3.1 手势起终点
一个完整的手势动作包括起点和终点,常态的时候,加速度和角速度输出的数字量波动不大;当动作发生之后,加速度和角速度数字量会有明显的变化,通过信号的差分衡量这两个信号单位时间内改变了多少,即可作为本次手势动作起点和终点的判断依据。假设第k点的加速度差分为△αk,第k点的角速度差分为△ωk,则:
△αk=|αxk-αxk-1|+|αyk-αyk-1|+|αzk-αzk-1|
(11)
△ωk=|ωxk-ωxk-1|+|ωyk-ωyk-1|+|ωzk-ωzk-1|
(12)
通过连续采样多个数据来降低环境噪声和用户手势抖动引起的冗余数据,假设采样个数为N,则取N点加速度差分值的平均值Mαk和角速度差分值的平均值Mωk分别如式(13)和(14)所示:
(13)
(14)
当Mαk和Mωk同一时间或者很接近,并满足分别大于加速度和角速度检测阈值时,判断i为手势起点;同理,当Mαk和Mωk分别小于加速度和角速度检测阈值时,判断i为手势终点,从而实时截取有效手势动作的信号数据。
1.3.2 手势长度
一次有效手势动作持续时间的长短称为手势长度。手势长度L的计算如式(15)所示:
L=t终点-t起点
(15)
一般情况下,一次有效手势动作信号持续的时间长度为0.3~1 s之间,对应信号的频率为1~4 Hz,信号的采样频率为100 Hz,综合处理器的数据处理能力,采用三阶巴特沃斯低通滤波器减少高频噪声[8],保证有效手势动作的信号数据的获得。
1.3.3 手势能量
一次有效手势动作在运动过程中的剧烈程度称为手势能量[7]。手势动作没开始之前,手势能量在不同频段内的分布较为均衡;当手势动作发生之后,由于手势能量及主要信息均集中在低频部分,因此手势能量在不同频段内的分布随时间变化持续呈现不均衡现象。通过分别计算从手势起点到终点的所有三轴加速度、角速度之和,即可得到手势能量,分别如式(16)和(17)所示:
(16)
(17)
式(16)中,L为有效手势长度;αxi,αyi,αzi分别是X,Y,Z轴的加速度值,gxi,gyi,gzi分别是重力加速度g在加速度传感器X,Y,Z轴的分量;式(17)中,ωxi,ωyi,ωzi分别是X,Y,Z轴的角速度值。
一般情况下,一次有效手势动作的手势能量明显过大或者过小,均可认为是误操作手势动作。
1.3.4 手势波峰数
通过计算X,Y,Z轴的波峰数之和,从而得到波峰数,波峰数P计算如式(18)和(19)所示:
Pα=Pαx+Pαy+Pαz
(18)
Pω=Pωx+Pωy+Pωz
(19)
式(18)中,Pαx,Pαy,Pαz分别为传感器X,Y,Z轴加速度波峰数;式(19)中,Pωx,Pωy,Pωz分别为传感器X,Y,Z轴角速度波峰数。从中可看出,重点是计算每一个坐标轴的波峰数。
首先找出该轴信号与横轴的所有交点,然后在相邻两交点之间计算该信号的绝对值,并找出最大值点,如果该值点大于预设的某个阈值,则判断该点是一个波峰,累计波峰的个数即可得到该轴的波峰数,进而计算得到加速度波峰数和角速度波峰数。
一般情况下,一次有效手势动作的波峰数不为0[9],否则可认为很可能是误动作手势而不予处理。
2 体感手环控制幻灯片翻页装置设计
为了实现对算法有效性和准确率的测试和应用,设计了体感手环控制幻灯片翻页系统,本系统主要由体感无线手环和教学接收装置组成。
2.1 体感手环控制系统设计
体感无线手环用于识别手势动作,并把控制代码通过无线数据模块发送出去,教学接收装置接收到代码并通过USB接口传输给计算机[10],从而控制Page Up和Page Down按键,实现对PowerPoint软件上一页和下一页的翻页功能,系统结构图如图2所示。
图2 体感手环控制系统结构图
2.2 手势动作传感器MPU6050电路设计
在体感无线手环中, MPU6050分别采集X轴、Y轴和Z轴的电压数据,然后通过自带的16位A/D转换器转换成数字信号,测量范围达±16 g,能够精确检测小于1.0°的倾斜角度变化。MPU6050原理图如图3所示。图中芯片供电电源为3.3 V,数据SDA和时钟SCL相互配合,与微控制器I/O端口连接,实现数据的串行传输,用于实时采集手势动作数据。
图3 MPU6050原理图
2.3 教学接收装置设计
教学接收装置主要由无线数据模块、微控制器芯片、USB键盘接口芯片和显示模块组成。各个模块的供电电源由计算机USB接口的5 V电源提供。硬件原理框图如图4所示。微控制器采用基于8051内核的IAP15W4K58S4芯片,该芯片自动适应宽电源电压范围,简化了硬件电路的设计;USB键盘接口芯片通过矩阵扫描的形式获取所按下的按键功能,使用光电耦合器隔离,再与微控制器I/O端口相连,从而实现Page Up和Page Down按键功能,控制计算机PowerPoint软件翻页。
图4 教学接收装置硬件原理框图
3 系统测试结果与分析
使用软件Altium Designer对电路原理图和PCB进行设计,经过打样、焊接与调试等环节,再经过多次参数调整与修正,直至系统能够正常稳定地工作。随机以一节45分钟理论课为测试时间段,该节课讲授了教学PPT课件共计18个页面,教学过程中根据回看需要向上翻页4次,向下翻页过程中出现1次不成功,因此重复了一次向下翻页的动作,共计23次,教学过程中没有出现误动作的现象,测试数据如表2所示。
根据实际测试数据,体感无线手环可以正确识别向左或向右一挥的手势动作,教学接收装置基本能够有效可靠接收并控制PowerPoint软件,完成向上或向下翻页的功能,达到良好的教学效果。
表2 随机抽样一节课测试数据
4 结束语
本文针对教师课堂教学中,需要手握激光笔遥控PowerPoint幻灯片翻页的问题,提出体感手环控制幻灯片翻页的方法,重点对手势动作定义、手势信号感知与预处理和手势特征提取等算法展开研究,并通过体感无线手环和教学接收装置的原理设计和测试,进行手势识别算法有效性和准确率的验证。实验证明体感手环教学控制系统在课堂教学中可以有效地识别教师遥控幻灯片翻页的手势动作,能够可靠控制PowerPoint向上或向下翻页,把教师的双手回归到教学手势的讲解和演示,促进教学效果的提升。