基于AdaBoost分类器的手势检测

点赞:18199 浏览:81767 近期更新时间:2024-01-19 作者:网友分享原创网站原创

摘 要:随着社会智能化的不断发展,人们对人机交互的要求也越来越高.手势识别就是人机交互中一项重要的技术.而手势识别中首要解决的任务就是首帧手势位置的检测,这直接影响到后续的跟踪与识别.本文通过基于Haar-like特征的AdaBoost分类器检测实现了在单目视觉条件与复杂环境下对特定手势的快速自检测.

关 键 词:Haar-like特征;AdaBoost分类器;手势检测

中图分类号:TP391文献标识码:A文章编号:1674-7712(2013)04-0010-02

一、引言

从计算机发明以来,人类就不断的改进技术,希望能够实现自然的人机交互.尤其是2010年微软kinect的重磅推出,更让人们看到了体感操作在这一方面所具有的广阔前景.手势是人类交流方式中的一个重要组成部分,因而手势识别也成为人机交互研究中的一个主要方向.在手势识别中,第一步就是要能够准确定位出首帧手势的位置,此后的跟踪环节与识别环节都需要基于首帧检测获取的信息,因此检测是手势识别的基础和前提.

基于AdaBoost分类器的手势检测参考属性评定
有关论文范文主题研究: 关于计算机的文章 大学生适用: 自考毕业论文、专科论文
相关参考文献下载数量: 49 写作解决问题: 学术论文怎么写
毕业论文开题报告: 论文任务书、论文前言 职称论文适用: 技师论文、高级职称
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 优质选题

对首帧手势的检测方法目前可简单划分为对任意手势的检测和对特定手势的检测.对任意手势的检测一般需要通过肤色信息、运动信息和轮廓信息等综合因素来定位目标手势,目前这类方法通常有一些限制条件,且抗干扰性有待提高.对特定手势的检测比较常用的方法都是基于统计信息的检测,其中基于Haar-like特征的AdaBoost分类器就是一种普遍使用的方案,这也是本文所采用的方法.

二、基于Haar-like特征的AdaBoost手势检测

Haar-like特征Haar-like特征是计算机视觉领域一种常用的特征描述算子,它最早是由Papageorigiou[1]等人提出的.目前常用的Haar-like特征可以分为三类:线性特征、边缘特征和中心特征.每一种特征的计算都是由黑色填充区域的像素值之和与白色填充区域的像素值之和的差值.而计算出来的这个差值就是所谓的Haar-like特征的特征值.

1.边缘特征

2.中心特征

3.线性特征

(二)AdaBoost分类器

AdaBoost算法由Freund和Schapire[2]在1996年提出,其核心思想是针对同一个训练集训练不同的弱分类器,然后将这些弱分类器集合起来,构成一个更强的最终强分类器,是对传统Boosting算法的一大提升.而Boosting算法的的理论基础来自于Kearns和Valiant[3]两位的相关证明.之后到2001年,Viola和Jones在AdaBoost算法的基础上,使用Haar-like小波特征和积分图方法进行人脸检测[4][5],他俩不是最早提出使用小波特征的,但是他们设计了针对人脸检测更有效的特征,并对AdaBoost训练出的强分类器进行级联,这让人脸检测技术跨上了一个新台阶,也因此当时提出的这个算法被称为Viola-Jones检测器.又过了一段时间,RainerLienhart和JochenMaydt将这个检测器进行了扩展[6],最终形成了OpenCV中现在使用的Haar分类器.

AdaBoost分类器按流程可分为训练和检测两部分.其训练过程是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值.将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器.使用Adaboost分类器可以排除一些不必要的训练数据特征,并将关键放在关键的训练数据上面.按照AdaBoost分类器的训练过程可以得到一个强分类器,但是单独的强分类器不足以满足复杂环境下手势检测的需要.因此AdaBoost分类器的检测过程是由一组强分类器构成的级联分类器实现的.简单来说,检测就是以现实中的一幅大图片作为输入,然后对图片中进行多区域,多尺度的检测.搜索得到的大量子窗口图像经过筛选式级联分类器,被每一个节点筛选,最后得到的就是概率较高的待定手势.级联强分类器的策略是,将若干个强分类器由简单到复杂排列,希望经过训练使每个强分类器都有较高检测率,而误识率可以放低,比如几乎99.9%的人脸可以通过,但50%的非人脸也可以通过,这样如果有20个强分类器级联,那么他们的总识别率为,错误接受率也仅为.这样的效果就可以满足现实的需要了.


(三)基于Haar-like特征的Adaboost手势检测算法

虽然利用Haar-like特征的Adaboost分类器已经能够实现对手势较高的检测率,但是在现实环境中仍然会有很多干扰使得Adaboost出现误检测,为此我们设计了一个可靠性更高的首帧手势检测算法,算法流程如下:

通过利用时间与空间的限制条件:若其在三帧的时间内,能够满足该检测目标在帧与帧之间的空间重合度上达到80%,且大小之比超过1.2倍,则认为该检测目标即所需的首帧手势.这样一来就能够过滤掉背景中的大部分干扰,提高了首帧手势检测的可靠性.

三、实验结果与分析

为了测试该算法是否有效,这里我们做了一个简单的实验.实验环境如下:处理器为IntelCoreI5650,内存2G,编程环境为Ubuntu12.04+OpenCv2.4.2.图2给出实验效果图,从图中我们可以看出手势已经被成功检测并选中,证明我们的思路是正确的.

四、结论

手势检测是手势识别中非常重要的一部分,本章就研究了对首帧手势自检测的方法.在考虑到实时性的情况下,我们提出了一种适应性与鲁棒性均不错的检测算法.通过基于Haar-like特征的AdaBoost分类器检测疑似手势,再利用时间与空间上的限制条件锁定所需的首帧手势.实验表明,该方法在复杂环境下能够准确的定位到待检测的手势,对背景中的一些干扰有较好的抵抗性.