发明名称 一种基于特征值的手势识别方法
摘要 本发明的一种基于特征值的手势识别方法,首先构建手势数据库,选取m种手势,每种手势选取n幅手势图像,找出每幅手势图像中的四个特征值,存储在手势数据库中;然后在视频流中连续选取K帧待识别手势图像,采用相同的方法实时计算出每帧待识别图像的四个特征值进行比对。本发明的有益效果是:改善手势识别的识别率,并且对于手势的旋转、缩放和平移可以进行有效识别。
申请公布号 CN106295463A 申请公布日期 2017.01.04
申请号 CN201510249327.7 申请日期 2015.05.15
申请人 济南大学 发明人 冯志全
分类号 G06K9/00(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 济南泉城专利商标事务所 37218 代理人 肖健
主权项 一种基于特征值的手势识别方法,其特征在于,包括以下步骤:步骤1,构建手势对比库,选取m种手势,每种手势选取n幅手势图像,每幅手势图像对应关联一组模型数据,每组模型数据包括四个特征值F1、F2、F3、F4;其中F1表示手势轮廓上各点到手势重心的平均距离除以手势外接圆半径的值,其计算公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>F</mi><mn>1</mn><mo>=</mo><mo>[</mo><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>)</mo></mrow><mo>/</mo><mi>S</mi><mo>]</mo><mo>/</mo><mi>R</mi><mo>;</mo></mrow>]]></math><img file="FDA0000718178890000011.GIF" wi="886" he="142" /></maths>F2表示手势轮廓上距离手势重心的M个最大距离平均值除以外接圆半径的值,其计算公式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>F</mi><mn>2</mn><mo>=</mo><mo>[</mo><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>D</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>M</mi><mo>]</mo><mo>/</mo><mi>R</mi><mo>;</mo></mrow>]]></math><img file="FDA0000718178890000012.GIF" wi="485" he="147" /></maths>F3表示手势轮廓上距离手势重心的N个最小距离平均值除以外接圆半径的值,其计<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>F</mi><mn>3</mn><mo>=</mo><mo>[</mo><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>N</mi><mo>]</mo><mo>/</mo><mi>R</mi><mo>;</mo></mrow>]]></math><img file="FDA0000718178890000013.GIF" wi="467" he="142" /></maths>F4表示手势轮廓上距离手势重心的M个最大距离之和与手势轮廓上距离手势重心的N个最小距离之和的差值除以外接圆半径的值,其计算公式为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>F</mi><mn>4</mn><mo>=</mo><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>D</mi><mi>i</mi></msub><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>R</mi><mo>;</mo></mrow>]]></math><img file="FDA0000718178890000014.GIF" wi="523" he="143" /></maths>其中,(x<sub>0</sub>,y<sub>0</sub>)是手势重心位置坐标,D<sub>i</sub>、d<sub>i</sub>表示手势轮廓上每个点到重心(x<sub>0</sub>,y<sub>0</sub>)的欧式距离,把S个欧式距离值按照由大到小排序,得到序列(D<sub>1</sub>,D<sub>2</sub>,…D<sub>M</sub>,…D<sub>S</sub>);R是手势外接圆半径;步骤2,从视频流中连续选取K帧待识别手势图像,并采用与步骤1相同的方法实时计算出每帧被识别手势图像对应关联的四个特征值F1、F2、F3、F4,并将每帧被识别手势图像对应关联的四个特征值F1、F2、F3、F4保存在一个对比数组中;步骤3,将步骤2中每帧待识别手势图像对应的对比数组分别与手势对比库内m*n幅手势图像对应的模型数据一一计算欧氏距离,每帧待识别手势图像对应得到m*n个欧氏距离,从中选出与该对比数组欧氏距离最小的一组模型数据,并记录该组模型数据对应存储在手势对比库的那幅手势图像以及该最小的欧氏距离;步骤4,采用步骤3的方法,分别找出与K帧待识别手势图像对应的K个最小的欧氏距离,然后在这K个最小的欧氏距离中再选取一个最小的欧氏距离F,找出与该欧氏距离值F对应的模型数据,并最后将该模型数据对应存储在手势对比库的那张手势图像作为最终识别结果输出。
地址 250022 山东省济南市市中区南辛庄西路336号