论文部分内容阅读
人眼检测是计算机视觉领域一个极具挑战意义的课题。由于真实世界场景的复杂性,要在复杂的背景中检测出人眼并不是一件容易的事,而且还要受到光照、姿态、旋转、遮挡等等诸多因素的影响,更是使得人眼检测困难重重。自从PaulViola将AdaBoost算法用于人脸检测取得里程碑式的意义以来,该算法也被引入到人眼检测研究中,人们对此进行了大量的研究。本文利用AdaBoost进行人眼检测研究。讨论人眼图像的haar矩形特征和更具表达能力的分散矩形特征,研究分散矩形特征的优化方法;分析AdaBoost在人眼检测中的特点,提出改进AdaBoost的级联方法。本文所研究的工作主要包括以下几个方面:1.使用分散矩形特征代替原始haar矩形特征训练分类器,为了克服特征数量暴增的问题,提出一种优化分散矩形特征的方法。原始haar矩形特征只能表达水平、垂直或45°方向上的信息,而分散矩形特征打破了边界相邻对齐的约束条件,可以表达几乎各个方向上的信息。实验结果表明,分散矩形特征比原始haar矩形特征具有更强的表达能力,优化后训练分类器所需时间是优化前的约三分之一。2.提出一种新的按照指数规律调整级联分类器每层最小检出率和最大误检率的AdaBoost级联方法。传统级联方式的每层分类器的最小检出率和最大误检率是固定不变的,在训练的后期,训练难度不断加大,要想达到预定的检出率和误检率必须增加每层分类器包含的弱分类器数目,会造成训练非常耗时。实验结果表明,采用分散矩形特征结合改进级联方法训练出的分类器分类能力要强于原始haar特征结合传统级联方式训练出来的分类器,并且能够有效降低误检率。3.结合OpenCV库设计了一个人眼检测系统。OpenCV库是一个开源计算机视觉库,封装了很多可用于计算机视觉研究的函数,使用方便。系统在保证高检出率的同时,对光照、姿势、旋转、遮挡、闭眼等复杂场景也具有很好的鲁棒性。除此之外,本文还手工构建了大规模的人眼样本库,有利于进行人眼检测的深入研究。