2018年TI杯大学生电子设计大赛(D题手势识别)
相关简介
题主于大二年级下学期参加了2018年TI杯电子设计大赛(辽宁省),选题为D题《手势识别》,最终为省二等奖,在此将比赛过程及代码进行分享,欢迎前来交流,不足之处还望指正。
硬件模块
模块 | 数量 | 功能 |
FDC2214 | 2 | 手势数据采集 |
kinetis k60 | 2 | 手势数据训练与判别 |
oled | 1 | 手势判别结果显示 |
DCDC | 1 | 对MCU供电 |
覆铜板 | 1 | 构成极板 |
亚克力板 | 6 | 作品外壳 |
方案选择
- 单极板方案
优点:对测试者手势的摆放要求低,有较好的适应性
缺点:同一手势不同测试者之间数值差异较大
- 多极板方案
优点:手势判别难度降低,准确率提高
缺点:对测试者手势摆放有明确要求,适应性差
程序思路
针对单极方案,我们首先尝试应用lib-svm(支持向量机)算法,以实现对于手势的判别,但鉴于比赛时间和个人水平的限制,对于lib-svm的理解不足,暂不采用该方案。
然后我们尝试在训练模式下,一段时间内,收集测试者做各个手势时,fdc2214所读取的最小数值作为阈值;在判别模式下以各个阈值作为手势的判别依据,经测试准确率在百分之60左右。
最后,为保证手势判别的准确率,我们采取多极板方式,即一个手指对于一个极板,而每块fdc2214有4个通道,所以我们使用了2块fdc2214;多出的3通道,我们选取了其中2个,连接了小块极板作为电容按键,进行菜单选择和模式切换。
程序流程:
- fdc2214采集5块极板空载数据(即:无放手数据),待数据稳定后进行记录,标记为开关阈值
- 当前极板的放手数据与开关阈值进行比较,有手指为1,否则为0
- 根据5块极板的0/1数据对手指进行判别
- 电容开关选择模式,猜拳模式或猜数字模式
- oled显示判别结果
作品快照
未完待更---