您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术基于DSP的手势识别电视遥控器分析 正文
基于DSP的手势识别电视遥控器分析

基于DSP的手势识别电视遥控器分析

点击数:7390 次   录入时间:03-04 11:46:23   整理:http://www.55dianzi.com   DSP/FPGA技术

     

      图8 两幅图像的目标变化量

      4) 对帧间差分法得到的图像按选定的阈值进行二值化,得到目标图像序列的二值化图像序列Fk( x,y) ,如图9 所示。其中,

      

     

      式( 1) 中,T 为阈值。对于给定视频序列的图像,假设像素点k 处没有运动,其帧差dk服从均值为0,方差为σ2 的Gauss 分布N( 0,σ2):

      

     

      式( 2) 中,H0表示无运动假设,σ2 是帧差的统计方差,通常认为它等于摄像头噪声方差的两倍。根据概率统计假设检验“3σ”法则和“正确的阈值T 应该能消除大部分噪声”的原则。经试验测试得阈值T选择在35 ~ 45 之间比较合适。二值化后的图像如图9 所示。观察Fk( x,y) 的图像序列,可以看到图像中的噪声很少,这是因为①帧间差分法达到了加大目标信息的权重,同时抑制了静态背景的效果;②摄像头采集范围背景比较单一,光线均匀。

      Fk( x,y) 中主要存在两大类的噪声。一种是由于光线变化产生的噪声,这种噪声往往以孤立的黑色像素点的形式出现。第二种噪声是一些面积较小的背景块。为了尽可能消除这两种噪声,可以求每个N × M 小块的灰度平均值,根据灰度平均值可估计出白色区域的大小。当灰度平均值小于某一阈值时,可以认为是噪声,把对应的N × M 个点赋值为0.算法实现如下:

      ( 1) 建立一个大小是Fk( x,y) 的1 /25 倍的矩阵来存20 × 20 个5 × 5 像素块的平均灰度值fk( x,y)。

      ( 2) fk( x,y) 和Hk( x,y) 满足如下关系:

      



www.55dianzi.com

     

      

     

      图10 噪声消除后的图像

      通过这种处理方法,原图像中的小块噪声和椒盐噪声基本被消除,手部图像边缘的某些像素点也会被当作噪声消除,但是不影响后续处理。经过噪声消除后的图像如图10( a) 所示。使用同样的处理算法,可以得到后一帧的图像处理结果如图10( b)所示。

      3. 2 特征提取及动作识别

      获取只含手部运动区域的图像Hk( x,y) 和Hk+1( x,y) 后,扫描出手部图像边界,通过比较与计算判断手摆放位置和区域中心位置Pk( xk,yk) 和Pk+1( xk+1,yk+1) .手部摆放位置可以判断手的上下或是左右运动。图像处理和特征提取流程图如图11 所示。

      ( 1) Hk+1( x,y ) 和Hk( x,y ) 是相同的纵向摆放位置,手部在左右运动。

      ( 2) 根据列坐标的大小来判断手左右方向的移动如下:

      

     

      判断上下运动的算法与判断左右类似。若出现无法判断的情况,则重新采集图像,进行处理和判断,直到能够判断方向为止。

      

     

      图11 图像处理算法流程图

      3. 3 红外遥控算法原理

      本系统选择最常用的一种编码方式uPD6121进行学习、解码和发射。红外遥控器的红外信号一般都是通过38 ~ 40kHz的载波调制而成。先对接收到的红外信号进行解调,再记录遥控编码信号的脉冲宽度。学习子程序的流程图如图12 所示。采用计数器对信号高低电平计数的方法采集数据并保存。

      发射模块根据DSP2 发送的指令找到对应的编码信号在外扩RAM 的位置,将编码调入内存,然后通过编码发送子程序,将编码调制在38 kHz 载波上发送出去。用定时中断0 产生38 kHz 的载波信号,用学习到的遥控编码信号的低电平去控制载波输出,此时定时器0 定时长度由相应的遥控信号低电平宽度计数值确定。如果需发射的遥控信号为高电平,关定时中断0; 如果为低电平,则开定时中断0,从而实现遥控信号的脉宽调制发射。发射子程序流程如图13 所示。

      

     

      图12 学习子程序流程图

      

     

      图13 发射子程序流程图

      3. 4 网卡驱动程序及上位机软件设计

      3. 4. 1 网卡驱动程序及UDP 协议实现

      RTL8019AS 已经实现以太网通信物理层功能,只需初始化芯片相应的寄存器,编写DSP 下驱动,便可启动RTL8019AS.本系统采用TCP /IP 协议族中的UDP 协议( user datagram protocol) 进行通信,实现通过网络把DSP 采集到的图像信息发送到上位机。

      3. 4. 2 上位机软件编写

      上位机软件采用C#语言编写,实现UDP通信协议。上位机软件实现接收下位机的数据,还原图像数据并显示等功能。同时,上位机还可以向下位机发送命令,方便系统调试。

      3. 4. 3 图像数据发送及还原

      下位机采用UDP发送数据,把数据的每一行作为一个UDP数据包,一幅图像分成100个数据包进行发送。为了让上位机完整接收一幅图像,在每幅图像开始发送之前,先发送一个规定的帧开头数据包,在每一幅图像发送完毕之后,也发送一个规定帧结尾数据包。上位机根据这些标定将100个数据包利用C#语言的相关函数,转换一定的图片格式,在上位机进行显示。

      4. 系统测试

      4. 1 测试流程

      创建手势样本库、手势图像预处理、特征提取、实时手势图像与库模型预测、识别结果、执行操作等。

      4. 2 测试结果

      本设计自定义手势及编号如图14所示,其中手势1表示开机,手势2表示关机、手势3表示换台的递增,手势4表示换台的递减,手势5表示音量增加,手势6表示音量减小等功能。

      对组装好硬件电路系统进行整体测试。测试者在摄像头的拍摄范围内进行上述6种手势各从左向右、从右向左、从上向下和从下向上10次缓慢运动,在每种手势40次的识别中识别率如表1所示。

      表1 识别率

      

     

      测试结果表明,本算法识别手势的准确率在96%左右,遥控的有效范围在4 m 左右,能够实现电视机的频道更换和音量调节功能。

      5. 总结

      本文设计的手势识别电视遥控器系统,利用摄像头使手势动作与电视机进行交互,采用红外信号遥控电视机,在红外传输有效距离内,可以根据个人喜好,任意改变手势识别样本库系统,使得电视遥控更加人性化,并为实现家庭数字设备操控一体化提供可能。

      

     

      图14 自定义手势及编号



上一页  [1] [2] 


本文关键字:电视  遥控器  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术