手势识别:
手势识别的步骤:
1、 准备手势库(预先录制好若干手势)
2、 运行时记录用户绘制的图形
3、 将用户绘制的图形与手势库进行对比
4、 匹配满足精度要求且相似度最大的手势
手势识别的算法:
1、 网格识别
2、 方向识别
3、 $1算法
4、 Protractor量角器算法
手势识别的衡量标准
1、 准确度
2、 容差能力(位置 大小 比例 形状 角度)
3、 性能
4、 内存占用
$1算法
由于用户绘制的图形与手势库的图形差别太大,首先需要进行调整再比对。
相似度:使用欧几里得相似度算法
即根据距离来判断:离得近,相似;离得远,不再相似。
调整算法:
1,重新采样:resample;使图形上的采样点进行均匀的分布;
原理:确定图形的采样点的个数;求出绘制的图形的周长;把采样点按照周长平均的分布。
2,确定绘制图形的中心点centrold,所有中心点的坐标取平均值。
3、图形进行平移(中心点对齐)、缩放(非等比例的缩放)、旋转(角度对齐)translate scale rotate
4、比较test
注意事项:
1、 绘制的方向性
如顺时针与逆时针的设计
2、 图形的宽高比
锐三角与钝三角
3、 关键点的数目
40,60常用
4、 复杂性
Protractor量角器算法
使用余弦相似度
夹角小,相似;有过论文,得出余弦相似度更准确,更稳定。
图形相似度:
把待比较的图形进行调整:
1、 把图形转化为n维向量,比较两个向量的余弦相似度
2、 把图形转化为n维空间中的点,比较两个点的欧式相似度
相关参考:
yangl.org
depts..washington.edu/aimgroup/proj/dollar
github.com/finscn/ReDollar