这个是我的综合实践与设计的课题,作为毕设的一部分,因为时间比较紧,做的很简单。主要实现了在简单背景下,利用笔记本摄像头实时采集视频,根据肤色检测识别手部区域并跟踪手部运动轨迹。

项目的GitHub地址:(采用C++,基于opencv)
https://github.com/1092366225/HandGestureRecognition
代码百度网盘链接:
链接:https://pan.baidu.com/s/1Wh9qRPjjqY4pL5HrFfdwzg
提取码:zd2w

效果如下:(画五角星)

1.背景介绍

手势分为静态手势和动态手势,静态是指一个固定的手的形姿态,比如摆出“V”的pose,动态是指手部的位置或形态变化的含义,比如画个圈。

手势识别技术在人机交互领域有很大的作用和应用前景。目前已经发展地比较久了,有着很多的实现方案,但是仍然存在鲁棒性不强,识别率不高或者是无法满足实时性的问题。

手势识别主要有基于计算机视觉、基于超声波和基于惯性传感器三种实现方式。我采用的是基于视觉的,通过处理真实的视频图像来识别手势,分为手势分割、轨迹跟踪和分类识别三个过程,这里只实现了前两步。

2.主要流程与算法

流程图:

(1)手势分割

利用人的肤色在YCrCb颜色空间的聚类性质,根据颜色来区分图像中的手部和背景。先把图像转换到YCrCb颜色空间,然后采用otsu自适应阈值来对Cr通道进行划分。当然也可以根据经验值或者训练值直接给出阈值,不过效果较差。

处理后的二值图像如下:

这时候会发现有很多干扰区域,所以先对图像进行形态学处理,先膨胀后腐蚀,消除小的封闭空间。结果如下:

然后利用opencv中的相关算法来找出图中的各个连通域的外接矩形,同时把面积较小的先排除。

之后图像中最大的连通域有两块:手部和脸部。采用模板匹配的方法来排除脸部的干扰(也可以用其他方法,比如手指个数,肤色比例等),模板是用ps做的

这样就可以划分出手部区域:(图中的红色小矩形表示模板匹配最佳点的结果,绿色矩形为手部区域的外接最大矩形)

(2)轨迹跟踪

跟踪手的运动轨迹可以采用图像跟踪算法,经典的有光流法、camshift等,或者目前比较主流的KCF、深度学习等。我原本想采用camshift,但是没能成功,就直接利用每帧图像中检测到的手部位置来跟踪轨迹。

用手部外接矩形的左上角坐标来表示手的位置。然后等间隔采样得到坐标点序列,再根据每个坐标与坐标序列中心点的角度对其进行离散化,提取特征向量用于后期的分类识别。

例如8连通链码得到的特征向量为0-7的整数序列

基于视觉的动态手势轨迹跟踪相关推荐

  1. 【开源方案共享】VDO-SLAM:基于视觉的动态SLAM感知系统

    点云PCL免费知识星球,点云论文速读. 标题:VDO-SLAM: A Visual Dynamic Object-aware SLAM System 作者:Jun Zhang , Mina Henei ...

  2. 【开源分享】VIDO-SLAM:一种视觉惯性动态物体SLAM系统

    文章:Inertial-Only Optimization for Visual-Inertial Initialization 作者:Carlos Campos, Jose M.M. Montiel ...

  3. 论文简述 | DOT:面向视觉SLAM的动态目标跟踪

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 在本文中,我们提出了动态目标跟踪(DOT),一个添加到现有SLAM系统的前端,可以显著提高它 ...

  4. 基于opencV的动态背景下运动目标检测及跟踪(修改版)

    基于openCV的动态背景下的运动目标检测 from: http://www.mianfeiwendang.com/doc/89c6692a222a84b2ced0d502/1 摘要:介绍在动态背景下 ...

  5. 柔性机械臂_CSR论文精选 | 基于视觉的双连杆柔性机械臂末端位置跟踪控制

    05基于视觉的双连杆柔性机械臂末端位置跟踪控制 Umesh Kumar Sahu; Dipti Patra; Bidyadhar Subudhi 文章精读 英文标题: Vision-based tip ...

  6. 前景提取 matlab,基于MATLAB的动态前景目标特征提取与运动跟踪

    吴晶鑫 仲梁维 摘 要:动态前景目标识别和提取是计算机视觉领域的重要内容.对动态图像进行前景目标提取与运动跟踪,通过改进高斯混合背景模型,提出一种基于自适应特征加权的前景目标提取算法,目的是对动态画面 ...

  7. 基于MATLAB的动态前景目标特征提取与运动跟踪

    基于MATLAB的动态前景目标特征提取与运动跟踪 摘 要:动态前景目标识别和提取是计算机视觉领域的重要内容.对动态图像进行前景目标提取与运动跟踪,通过改进高斯混合背景模型,提出一种基于自适应特征加权的 ...

  8. 基于matlab单目视觉焊缝跟踪系统,基于激光线结构光3D视觉的机器人轨迹跟踪方法与应用...

    摘要: 本文利用工控机.图像采集卡.工业相机和激光器,设计了激光线结构光3D视觉系统;利用工控机.运动控制卡.伺服驱动器和六轴串联机器人组成机器人运动系统;两者共同构成基于激光线结构光的机器人轨迹跟踪 ...

  9. 使用Minifly打造基于视觉感知的跟踪无人机

    摘自:https://www.cnblogs.com/kryo/p/11278565.html 使用Minifly打造基于视觉感知的跟踪无人机 前言:本文介绍一种可行的解决方案来实现基于视觉感知的跟踪 ...

最新文章

  1. 学校APP太难用,码农爸妈们自己做出开源程序,官方却要报警
  2. 《bbs.yingjiesheng.com,超全的求职笔经面经论坛》
  3. 大牛书单 | 消息队列方向的好书
  4. for in for of区别_Python 第5课:for…in循环黄金搭档之列表
  5. HTML5新特征、窍门和技术(1~5)
  6. C 语言:我不是针对谁,我是说在座的都是乐色
  7. 带你重新认识ZooKeeper!java数组长度可变吗
  8. 自带flash的浏览器_受够了手机自带浏览器?来看看这些超实用的不常用浏览器...
  9. 东北大学金工实习理论考试重点
  10. 汽车系统英文缩写大全,值得收藏
  11. 华为u8500刷机、、root
  12. linux的命令名必须是小写英文字母,Linux常用命令及操作
  13. 独立按键之长按、短按、单击、双击
  14. xgboost, lightgbm, catboost, 谁才是预言之战的最终赢家?
  15. 泰勒公式求解极限(泰勒展不开)
  16. signature=7b0862cc6ec2e108409eba8ab4ddc267,来用百度密语吧!!!
  17. linux ubuntu22.04安装原生版微信 QQ 企业微信等
  18. 解决ubuntu Certificate verification failed: The certificate is NOT trusted.
  19. DSOD: Learning Deeply Supervised Object Detectors from Scratch
  20. 张卫健被胃癌,自我炒作还是微波账户被盗?娱乐圈被死亡事件大揭秘

热门文章

  1. 18.Spring学习笔记_切面的优先级(by尚硅谷_佟刚)
  2. opencv实现车牌识别
  3. []575. Distribute Candies
  4. 高数-数列极限与函数极限
  5. 苹果电脑无法自动修复此计算机,Mac电脑因出现问题而重新启动请按一下怎么解决?附解决方法...
  6. 【海康摄像头二次开发】移植海康摄像头Android SDK并实现多屏显示
  7. 不要再使用TCHAR和_T了
  8. 手机安装python的步骤_手机安装python环境
  9. Python.openpyxl操作Excel
  10. 【关于ChatGPT的30个问题】26、ChatGPT的开发团队是谁?/ By 禅与计算机程序设计艺术