用于手势识别的四通道电容信号采集装置及其识别方法
技术领域
本发明属于手势识别技术领域,具体涉及一种用于手势识别的四通道电容信号采集装置及其手势识别方法。
背景技术
手势识别技术能够应用于人机交互等领域,还能够应用于远程猜拳等游戏的载体。手势识别具有以下难点1.手是弹性物体,故同一种手势之间差别很大;2.手有大量冗余信息,由于人识别手势关键是识别手势特征,所以手掌特征是冗余信息;3.由于每个人的手的大小、手指的粗细都不同,故同一种手势差别很大,不容易识别。这些难点导致了现有的手势识别精度较低。因此需要设计一种能够准确识别手势的方法。
发明内容
本发明的目的针对现有技术的不足,提供一种基于四通道电容输入的手势识别装置及其手势识别方法。
本发明一种用于手势识别的四通道电容信号采集装置,包括电源模块、手势输入器、信号输入模块和控制模块。所述的电源模块通过降压芯片为信号输入模块、控制模块及显示模块供电。
所述的手势输入器包括基座、第一金属箔、第二金属箔、第三金属箔和第四金属箔。所述的第一金属箔、第二金属箔、第三金属箔及第四金属箔均固定在基座的顶面。第一金属箔呈圆形。第二金属箔、第三金属箔及第四金属箔均呈扇环形,且沿第一金属箔的周向均布。
所述的信号输入模块包括电容传感器。所述电容传感器的IIC时钟引脚接电阻R3的一端及控制模块内控制器的第一I/O口,IIC数据传输引脚接电阻R4的一端及控制模块内控制器的第二I/O口。电阻R3及电阻R4的另一端均接电源模块的供电输出端。电容传感器的SD引脚接电阻R1的一端。电阻R1的另一端接地。电容传感器的VDD引脚接电容C5、电容C6的一端及电源模块的供电输出端。电容传感器的GND、PAD引脚、电容C5、电容C6的另一端接地。电容传感器的两个第一输入引脚与电感L4的两端分别相连,与电容C4的两端分别相连。电容传感器的其中一个第一输入引脚与手势输入器内的第四金属箔电连接。电容传感器的两个第二输入引脚与电感L3的两端分别相连,与电容C3的两端分别相连。电容传感器的其中一个第二输入引脚与手势输入器内的第三金属箔电连接。电容传感器的两个第三输入引脚与电感L2的两端分别相连,与电容C2的两端分别相连。电容传感器的其中一个第三输入引脚与手势输入器内的第二金属箔电连接。电容传感器的两个第四输入引脚与电感L1的两端分别相连,与电容C1的两端分别相连。电容传感器的其中一个第四输入引脚与手势输入器内的第一金属箔电连接。
进一步地,所述的手势输入器还包括隔板。隔板固定在基座上。第一金属箔、第二金属箔、第三金属箔、第四金属箔位于基座与隔板之间。
进一步地,所述第二金属箔、第三金属箔、第四金属箔的圆心角均为110°,外半径均为70mm,内半径为60mm。第一金属箔的直径为20mm。
进一步地,所述电容传感器的型号为FDC2214。
进一步地,所述的电源模块包括降压芯片和稳压管。所述降压芯片的型号为LM2596S-5.0。降压芯片的1引脚接发光二极管、电容C10的正极、电容C11的一端及外部输入电压。发光二极管的负极接电阻R2的一端。降压芯片的3及5引脚、电容C10的负极、电阻R2及电容C11的另一端均接地。降压芯片的2引脚接电感L2的一端及稳压管的负极。稳压管的正极接地。降压芯片的4引脚接电感L2的另一端、电容C14的一端、电容C12及电容C13的正极。降压芯片的6引脚、电容C12、电容C13的负极及电容C14的另一端均并接地。电感L2远离降压芯片的那端即为电源模块的供电输出端。
进一步地,所述的控制模块包括控制器。所述的控制器采用型号为STM32F103ZET6的单片机。控制器的8引脚接电阻R33的一端。电阻R33的另一端接电容C11及第一晶振的一端。电容C11的另一端接地。控制器的9引脚接电阻R34的一端。电阻R34的另一端接电容C12及第一晶振的另一端。电容C12的另一端接地。控制器的138引脚接电阻R35的一端。电阻R35的另一端接单刀双掷开关的动触头连接。单刀双掷开关的第一静触头接电源模块的供电输出端,第二静触头接地。控制器的23引脚接电容C13及第二晶振的一端,24引脚接电容C14的一端及第二晶振的另一端。电容C13及电容C14的另一端均接地。控制器的25引脚接电阻R37、电容C15的一端及复位按钮B1的一个接线端。电阻R37的另一端接电源模块的供电输出端。电容C15的另一端及复位按钮B1的另一个接线端均接地。控制器的34引脚接电源开关的一端。电源开关的另一端接电源模块的供电输出端。
进一步地,本发明一种用于手势识别的四通道电容信号采集装置还包括显示模块。所述的显示模块包括LCD显示屏和三极管Q1。LCD显示屏的型号为LCD12864。LCD显示屏的1引脚接地,2及19引脚接电源模块的供电输出端,3引脚接可调电阻R6的电刷,18引脚接可调电阻R6内电阻体的一端。可调电阻R6内电阻体的另一端接地。LCD显示屏的4、5、6、7、8、9、10、11、12、13、14、15、17引脚与控制模块内控制器的第三I/O口至第十五I/O口分别相连。
进一步地,本发明一种用于手势识别的四通道电容信号采集装置还包括矩阵按键。矩阵按键的八个输出引脚与控制模块内控制器的第十六I/O口至第二十三I/O口分别相连。
该用于手势识别的四通道电容信号采集装置的手势识别方法具体如下:
步骤一、在第三金属箔上方放置标准物体,使得标准物体的重心与第三金属箔的几何中心在同一条竖直直线上,第三金属箔输出多个电容数据,计算第三金属箔输出的多个电容数据的平均值
之后,在第四金属箔上方放置标准物体,使得标准物体的重心与第四金属箔的几何中心在同一条竖直直线上,第四金属箔输出多个电容数据,计算第四金属箔输出的多个电容数据的平均值
计算左右均衡倍数值
步骤二、建立手势识别数据库,使用者将需要被识别的各个手势录入到数据库中。
2.1、i=1,2,…,n,依次执行步骤2.2。n为需要输入的手势个数。
2.2、使用者将手做出第i个手势,并放置到隔板上,电容传感器从第一金属箔、第二金属箔、第三金属箔、第四金属箔各采集m个学习电容数据,m≥50。第一金属箔、第二金属箔、第三金属箔、第四金属箔在同一时刻输出的学习电容数据为一个学习电容数据组。第k个学习电容数据组内的四个学习电容数据分别为ci1k,ci2k,ci3k,ci4k,k=1,2,…,m。
2.3、根据步骤2.1和2.2中获得m·n个学习电容数据组计算手势样本数据集S。
其中,si1k=ci1k;si2k=ci2k;si2k=ci2k;si4k=e·ci4k。
步骤三、计算n个手势的最大值、最小值和平均值,得到最大值数据集Smax、最小值数据集Smin、均值数据集Save。
Smax={{smax,11,smax,12,smax,13,smax,14},{smax,21,smax,22,smax,23,smax,24},......,{smax,n1,smax,n2,smax,n3,smax,n4}}
Smin={{smin,11,smin,12,smin,13,smin,14},{smin,21,smin,22,smin,23,smin,24},......,{smin,n1,smin,n2,smin,n3,smin,n4}}
Sagv={{sagv,11,sagv,12,sagv,13,sagv,14},{sagv,21,sagv,22,sagv,23,sagv,24},......,{sagv,n1,sagv,n2,sagv,n3,sagv,n4}}
其中,smax,ij为sij1,sij2,……,sijm中的最大值;smin,ij为sij1,sij2,……,sijm中的最小值;sagv,ij为sij1,sij2,……,sijm中的平均值。
步骤四、使用者做出一个待识别的手势,并将手放置到隔板上,电容传感器从第一金属箔、第二金属箔、第三金属箔、第四金属箔各采集q个识别电容数据,q≥50。第一金属箔、第二金属箔、第三金属箔、第四金属箔在同一时刻输出的识别电容数据为一个识别电容数据组。第h个识别电容数据组内的四个识别电容数据分别为d1h,d2h,d3h,d4h,h=1,2,…,q。
计算手势采集数据集Z如下:
Z={{z11,z12,……,z1q},{z21,z22,……,z2q},{z31,z32,……,z3q},{z41,z42,……,z4q}}
其中,z1h=d1h;z2h=d2h;z3h=d3h;z4h=e·d4h,h=1,2,…,q。
步骤五、计算第一金属箔、第二金属箔、第三金属箔、第四金属箔的输出平均数据
步骤六、计算基础特征集合G1如下:
G1={{g11,g12,g13,g14},{g21,g22,g23,g24},......,{gn1,gn2,gn3,gn4}}
其中,
步骤七、计算加权特征集合G2
G2={g′1,g′2,...,g′n}
其中,g′i=0.3·gi1+0.3·gi2+0.2·gi3+0.2·gi4,i=1,2,…n。
步骤八、选取加权特征集合G2中的最小值g′l。判断出步骤四中使用者做出的待识别的手势是步骤二中第l个输入的手势。
进一步地,步骤一中所述的标准物体采用一个装有液体的杯子。
本发明具有的有益效果是:
1、本发明通过将四个金属箔排列出一中心三环绕的形状,在数据采集后能够有效识别多种不同手势。
2、本发明采用对四个通道的电容数据进行综合计算,增强了抗干扰性,使得识别结果更加准确。
3、本发明采用FDC2214传感器作为进行电容采集,操作简单,体积小,精确度高,抗干扰性好,非常适合在各种环境中使用,使用效果非常好。
附图说明
图1为本发明的系统框图;
图2为本发明中电源模块的电路原理图;
图3为本发明中控制模块的电路原理图;
图4为本发明中手势输入器拆去隔板的俯视示意图;
图5为本发明中信号输入模块的电路原理图;
图6为本发明中显示模块的电路原理图;
图7为本发明中矩阵按键的电路原理图。
具体实施方式
以下结合附图对本发明作进一步说明。
如图1所示,一种用于手势识别的四通道电容信号采集装置,包括电源模块1、手势输入器2、信号输入模块3、控制模块4、显示模块5和矩阵按键U5。电源模块1通过降压芯片为信号输入模块3、控制模块4及显示模块5提供5V电压。手势输入器2用于向信号输入模块3输出四路电容信号。信号输入模块3将接收到的四路电容信号分别转化为数字信号并传输给控制模块4。控制模块4判断输入的手势,并将确定的手势通过显示模块5中的LCD显示屏显示出来。矩阵按键U5向控制模块4发送模式切换信号。
如图2所示,电源模块1包括降压芯片U4和稳压管DZ1。降压芯片U4的型号为LM2596S-5.0。降压芯片U4的1引脚接发光二极管LED1、电容C10的正极、电容C11的一端及外部输入电压VCC-IN。外部输入电压VCC-IN的电压值为8.5V。发光二极管LED1的负极接电阻R2的一端。降压芯片U4的3及5引脚、电容C10的负极、电阻R2及电容C11的另一端均接地。降压芯片U4的2引脚接电感L2的一端及稳压管DZ1的负极。稳压管DZ1的正极接地。降压芯片U4的4引脚接电感L2的另一端、电容C14的一端、电容C12及电容C13的正极。降压芯片U4的6引脚、电容C12、电容C13的负极及电容C14的另一端均并接地。电感L2远离降压芯片U4的那端即为电源模块1的供电输出端VCC。
如图3所示,控制模块4包括控制器U1。控制器U1采用型号为STM32F103ZET6的单片机。控制器U1的8引脚接电阻R33的一端。电阻R33的另一端接电容C11及第一晶振X2的一端。电容C11的另一端接地。控制器U1的9引脚接电阻R34的一端。电阻R34的另一端接电容C12及第一晶振X2的另一端。电容C12的另一端接地。控制器U1的138引脚接电阻R35的一端。电阻R35的另一端接单刀双掷开关BOOT0的动触头连接。单刀双掷开关BOOT0的第一静触头接电源模块1的供电输出端VCC,第二静触头接地。控制器U1的23引脚接电容C13及第二晶振X3的一端,24引脚接电容C14的一端及第二晶振X3的另一端。电容C13及电容C14的另一端均接地。控制器U1的25引脚接电阻R37、电容C15的一端及复位按钮B1的一个接线端。电阻R37的另一端接电源模块1的供电输出端VCC。电容C15的另一端及复位按钮B1的另一个接线端均接地。控制器U1的34引脚接电源开关S1的一端。电源开关S1的另一端接电源模块1的供电输出端VCC。
如图4所示,手势输入器2包括基座2-1、第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3和隔板。第一金属箔CH0、第二金属箔CH1、第三金属箔CH2及第四金属箔CH3均固定在基座2-1的顶面。第一金属箔CH0呈圆形。第二金属箔CH1、第三金属箔CH2及第四金属箔CH3均呈扇环形。第二金属箔CH1、第三金属箔CH2、第四金属箔CH3的圆心角均为110°,且沿第一金属箔CH0的周向均布。第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3的圆心重合。第二金属箔CH1、第三金属箔CH2及第四金属箔CH3的外半径均为70mm,内半径为60mm。第一金属箔CH0的直径为20mm。隔板固定在基座2-1上。第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3位于基座2-1与隔板之间。
如图5所示,信号输入模块3包括电容传感器U2。电容传感器U2的型号为FDC2214。电容传感器U2的IIC时钟引脚(1引脚)接电阻R3的一端及控制模块内控制器U1的第一I/O口SCL(44引脚),IIC数据传输引脚(2引脚)接电阻R4的一端及控制模块内控制器U1的第二I/O口SDA(45引脚)。电阻R3及电阻R4的另一端均接电源模块1的供电输出端VCC。电容传感器U2的SD引脚接电阻R1的一端。电阻R1的另一端接地。电容传感器U2的VDD引脚接电容C5、电容C6的一端及电源模块1的供电输出端VCC。电容传感器U2的GND、PAD引脚、电容C5、电容C6的另一端接地。电容传感器U2的两个第一输入引脚(9、10引脚)与电感L4的两端分别相连,与电容C4的两端分别相连。电容传感器U2的其中一个第一输入引脚(9引脚)与手势输入器2内的第四金属箔CH3电连接。电容传感器U2的两个第二输入引脚(11、12引脚)与电感L3的两端分别相连,与电容C3的两端分别相连。电容传感器U2的其中一个第二输入引脚(11引脚)与手势输入器2内的第三金属箔CH2电连接。电容传感器U2的两个第三输入引脚(13、14引脚)与电感L2的两端分别相连,与电容C2的两端分别相连。电容传感器U2的其中一个第三输入引脚(13引脚)与手势输入器2内的第二金属箔CH1电连接。电容传感器U2的两个第四输入引脚(15、16引脚)与电感L1的两端分别相连,与电容C1的两端分别相连。电容传感器U2的其中一个第四输入引脚(15引脚)与手势输入器2内的第一金属箔CH0电连接。电容传感器U2的其余引脚悬空。
如图6所示,显示模块5包括LCD显示屏U3和三极管Q1。LCD显示屏的型号为LCD12864。LCD显示屏U3的1引脚接地,2及19引脚接电源模块1的供电输出端VCC,3引脚接可调电阻R6的电刷,18引脚接可调电阻R6内电阻体的一端。可调电阻R6内电阻体的另一端接地。LCD显示屏的4、5、6、7、8、9、10、11、12、13、14、15、17引脚与控制器U1的第三I/O口至第十五I/O口(135、136、137、10、11、12、13、14、15、16、17、140、134引脚)分别相连。LCD显示屏U3的其余引脚悬空。
如图7所示,矩阵按键U5的八个输出引脚与控制器U1的第十六I/O口至第二十三I/O口(114、115、116、117、118、119、122、123引脚)分别相连。控制器U1的其余引脚悬空。
该用于手势识别的四通道电容信号采集装置的手势识别方法具体如下:
步骤一、在第三金属箔CH2上方放置标准物体,使得标准物体的重心与第三金属箔CH2的几何中心在同一条竖直直线上,第三金属箔CH2输出多个电容数据,计算第三金属箔CH2输出的多个电容数据的平均值
之后,在第四金属箔CH3上方放置标准物体,使得标准物体的重心与第四金属箔CH3的几何中心在同一条竖直直线上,第四金属箔CH3输出多个电容数据,计算第四金属箔CH3输出的多个电容数据的平均值
计算左右均衡倍数值标准物体采用一个装有液体的杯子。
步骤二、建立手势识别数据库,使用者将需要被识别的各个手势录入到数据库中,本发明能够识别的手势必须为已经录入数据库的手势。
2.1、i=1,2,…,n,依次执行步骤2.2。n为需要输入的手势个数。
2.2、使用者将手做出(比划成)第i个手势,并放置到隔板上T1时间,T1=m/f,m=200,f为电容传感器U2的数据采集频率。电容传感器U2分别采集第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3输出的电容值。使用者的手势影响金属箔输出的电容值。第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3均向电容传感器U2输出m个学习电容数据。第一金属箔、第二金属箔、第三金属箔、第四金属箔在同一时刻输出的学习电容数据为一个学习电容数据组。第k个学习电容数据组内的四个学习电容数据分别为ci1k,ci2k,ci3k,ci4k,k=1,2,…,m。电容传感器U2将采集到的m个学习电容数据组转换为数字信号并传输控制模块。
2.3、根据步骤2.1和2.2中获得m·n个学习电容数据组计算手势样本数据集S。
其中,si1k=ci1k;si2k=ci2k;si2k=ci2k;si4k=e·ci4k。
步骤三、计算n个手势的最大值、最小值和平均值,得到最大值数据集Smax、最小值数据集Smin、均值数据集Save。
Smax={{smax,11,smax,12,smax,13,smax,14},{smax,21,smax,22,smax,23,smax,24},......,{smax,n1,smax,n2,smax,n3,smax,n4}}
Smin={{smin,11,smin,12,smin,13,smin,14},{smin,21,smin,22,smin,23,smin,24},......,{smin,n1,smin,n2,smin,n3,smin,n4}}
Sagv={{sagv,11,sagv,12,sagv,13,sagv,14},{sagv,21,sagv,22,sagv,23,sagv,24},......,{sagv,n1,sagv,n2,sagv,n3,sagv,n4}}
其中,smax,ij为sij1,sij2,……,sijm中的最大值;smin,ij为sij1,sij2,……,sijm中的最小值;sagv,ij为sij1,sij2,……,sijm中的平均值,即
步骤四、使用者做出一个待识别的手势,并将手贴合到隔板上T2时间,T2=q/f,q=150。使用者的手势影响第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3输出的电容值。
电容传感器U2分别采集第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3输出的电容值。使用者的手势影响金属箔输出的电容值。第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3均向电容传感器U2传输q个识别电容数据。第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3同一时刻检测到的识别电容数据为一个识别电容数据组。第h个识别电容数据组内的四个识别电容数据分别为d1h,d2h,d3h,d4h,h=1,2,…,q。电容传感器U2将采集到的q个识别电容数据组转换为数字信号并传输主控模块。
计算手势采集数据集Z如下:
Z={{z11,z12,……,z1q},{z21,z22,……,z2q},{z31,z32,……,z3q},{z41,z42,……,z4q}}
其中,z1h=d1h;z2h=d2h;z3h=d3h;z4h=e·d4h,h=1,2,…,q。
步骤五、计算第一金属箔CH0、第二金属箔CH1、第三金属箔CH2、第四金属箔CH3的输出平均数据
步骤六、计算基础特征集合G1如下:
G1={{g11,g12,g13,g14},{g21,g22,g23,g24},......,{gn1,gn2,gn3,gn4}}
其中,
步骤七、计算加权特征集合G2
G2={g′1,g′2,...,g′n}
其中,g′i=0.3·gi1+0.3·gi2+0.2·gi3+0.2·gi4,i=1,2,…n。
步骤八、选取加权特征集合G2中的最小值g′l。判断出步骤四中使用者做出的待识别的手势是步骤二中第l个输入的手势。