一种基于图像检测的在座状态系统的制作方法

文档序号:18668680发布日期:2019-09-13 20:33阅读:145来源:国知局
一种基于图像检测的在座状态系统的制作方法

本发明涉及一种基于图像检测的在座状态系统,属于人脸检测、识别技术领域。



背景技术:

目前在学校或公司,一般都采用点名、签到、按指纹等考勤方式,这些方法占用时间比较多并且效率低下。图像检测在座状态系统能完成教室或公司人数的实时统计,由于所需要实验的区域环境比较复杂,要想得到比较准确的实验结果,应采用较为稳定的方法进行人数的统计与在座率的计算。公共场所的人口数量从中可以获取许多信息。拿教室来举例,作为很常见的公共场所之一,教室里的学生人数统计具有非常现实的意义:(1)大学生翘课现象较为严重,大多数老师采用点名签到的方式来防止学生逃课,这样的方法不仅浪费了上课的时间,而且效果并不显著,还存在许多漏洞,采用上座状态系统更方便快捷人性化。(2)空的教室开着灯和电风扇会造成许多能源浪费,据不完全统计,多数大学的教学楼存在全天开着电灯风扇等电器的现象,这时在座状态的人数统计便可以帮助分析各个教室的上座情况,教室管理人员根据具体检测结果管理教室的电器开关,达到减少能源浪费的目的。(3)选修课堂中,出勤人数可以更客观地反映出选修讲师及开设的选修课程的受欢迎程度,学校可以根据出勤人数,对开设的选修课程进行选择,把很少有人选的课程关闭,多开设一些人气高的课程。(4)大学教室资源紧张,很多学生都遇到去教室或图书馆自习但找不到空位置的问题,自习室里的学生人数与教室空缺情况紧密相关,在座状态系统可以帮助学校合理分配教学资源,使学生能够快速、方便地找到自习教室。综上所述,教室在座状态检测的重要性无庸赘述,它是减少能源浪费、提高教学质量、方便校园学习生活的关键因素。



技术实现要素:

本发明是针对现有技术存在的不足,提供一种基于图像检测的在座状态系统,使用人脸框将检测到的人做出标记,通过最终统计到的人数除以实际座位数,计算出实时在座率,实现了对区域人数进行精确统计,满足实际使用要求。

为解决上述问题,本发明所采取的技术方案如下:

一种基于图像检测的在座状态系统,主要包括:

步骤(1)分类器训练:

所述分类器训练的操作流程:建立一个含有大量图片的样本库,样本库中的图片分为:包含人脸特征和不包含人脸特征,然后从样本库采用中将人脸和非人脸的haar-like特征提取出来,作为分类器训练过程的输入,adaboost算法训练出一个级联强分类器,该级联强分类器用来判断目标是否为人脸;

步骤(2)人脸检测:

所述人脸检测操作流程:如果待检测的目标是视频,则提取一帧来进行图片的预处理;如果要检测的目标是图片,直接进行图片的预处理阶段,加载之前工作中训练得到的级联强分类器,检测截取出的图像,如果级联强分类器使目标通过,则表示人脸被检测出,与该人脸相关的信息会被储存起来并且将其标记,如果目标没有通过级联强分类器就表示没有检测到人脸,然后移动剪裁窗口并反复之前检测的工作,直到测试目标的所有像素点都被扫描,则此次人脸检测的过程便结束了,将最后的图像输出,图像中所有被检测到的人脸都会被一个人脸框标记出来。

作为上述技术方案的改进,在步骤(1)中,样本库的建立包括:正样本,所有的图片都要包含人脸的特征;负样本,所有的图片都不能包含人脸的特征。

作为上述技术方案的改进,步骤(1)中haar-like特征提取是基于灰度图,先是通过大量具有比较明显的haar特征的物体图像采用模式识别的方法来训练出分类器,分类器是级联的,每级都用相同的识别率保留进入下一级里具有物体特征的待选物体,每一级的子分类器是由许多haar特征构成的,其中包括:水平、竖直和倾斜,且每个特征都有着一个阈值和两个分支值,每级的子分类器都带一个总阈值。

作为上述技术方案的改进,所述adaboost算法:对于某n个样本文件(x1,y1),...,(xn,yn),设定正样本(人脸样本)yi=1,设定负样本(非人脸样本)yi=-1;

初始化样本的权重;

定义训练的轮数为n,从第一轮到第n轮,分别做:

挑选出这一轮训练过程中的最优弱分类器,该弱分类器需使误差最小;更新权重;归一化权重;

获得、输出强分类器;

此外,将多个强分类器的组合得级联强分类器。

作为上述技术方案的改进,步骤(2)中,对于视频文件,需要从中提取出一帧图片,对于图片则直接开始处理,先使用cvcvtcolor(,,cv_bgr2gray)函数将待检测图片转换为灰度图像,然后使用cvresize(,,cv_inter_linear)对图片进行双线性插值的缩放,再使用cvequalizehist(,)进行直方图均衡化,最后进行检测。

作为上述技术方案的改进,步骤(2)中所述人脸检测采用的是基于检测窗口等比例放大法。

本发明与现有技术相比较,本发明的实施效果如下:

本发明选取了人脸作为特征来进行检测,并实现一个基于haar-like特征的上座状态检测系统,此系统达到了90%的识别准确率,误检测窗口数较少,对于正向及姿势端正的人脸有着比较优良的识别效果,能够成功地完成区域人数统计功能。

附图说明

图1为本发明所述人脸检测流程示意图;

图2为本发明所述正样本库中的部分图片;

图3为本发明所述负样本库中的部分图片;

图4为本发明初始的haar-like特征图;

图5为本发明新的haar-like特征图;

图6为本发明决策树的流程示意图;

图7为本发明获得强分类器的流程示意图;

图8为本发明所述图片预处理流程示意图;

图9为本发明所述“金字塔”缩放法检测图片示意图;

图10为本发明所述等比例放大检测窗口示意图。

具体实施方式

下面将结合具体的实施例来说明本发明的内容。

如图1至图10所示:为本发明所述基于图像检测的在座状态系统操作流程示意图,其包括:

(1)分类器的训练

建立一个含有大量图片的样本库,样本库中的图片分为包含人脸特征和不包含人脸特征两种,从样本库中将人脸和非人脸的haar-like特征提取出来,作为分类器训练过程的输入,adaboost算法用于训练出一个级联强分类器,该分类器用来判断目标是否为人脸。

(2)人脸检测

如果待检测的目标是视频,则提取一帧来进行图片的预处理;如果要检测的目标是图片,便直接进行图片的预处理阶段,加载之前工作中训练得到的分类器,检测截取出的图像,如果分类器使目标通过,则表示人脸被检测出,与该人脸相关的信息会被储存起来并且将其标记,如果目标没有通过分类器就表示没有检测到人脸,在那之后移动剪裁窗口并反复之前检测的工作,直到测试目标的所有像素点都被扫描,则此次人脸检测的过程便结束了,将最后的图像输出,图像中所有被检测到的人脸都会被一个人脸框标记出来;具体地,如图1所示。

构造训练样本库:

样本库的数量与质量,直接关系到了检测的效果;样本库中图像越多,区分度越高,分类器的训练效果越好。由于我们在前文中已经确定提取人脸作为特征,所以我们应该准备这两组样本:(1)正样本:所有的图片都要包含人脸的特征;(2)负样本:所有的图片都不能包含人脸的特征。

正样本库:如图2所示:本系统所采取的样本库,来自于at&t、yale等标准人脸库,从中挑选了2706张肤色、表情、光照有较大差别的图片,作为本次训练的正样本库,并且将所有图片的人眼设置在同一个水平位置,去除样本中人的头发,这有助于训练的进行。正样本库中的所有图片都要达到以下几点要求:

每张图像都要包含一个完整的人脸特征,我采取的范围是竖直方向从前额到下颌,水平方向需同时包含左部脸颊与右部脸颊。

所有的图像都必须保持统一的格式与大小,我的选用的是bmp的图像格式,尺寸为20×20像素的灰度图。

负样本库:如图3所示:图片背景影响着识别率,在越简单的环境中,人脸的识别率越高,反之,在越复杂的环境中,人脸的识别率就越低,难度也越大。负样本库中的文件就是用来描述背景的,所有负样本库的图像都要达到以下几点要求:

不可以够包含人脸的特征;数量要比正样本库的数量多得多;每张图片之间要有足够大的差别。

对于图像的格式和尺寸没有特定的要求,这里采用了4000张20×20像素的灰度图,有助于提高训练的速度。

haar-like特征:是基于灰度图,先是通过大量具有比较明显的haar特征的物体图像采用模式识别的方法来训练出分类器,分类器是级联的,每级都用大概相同的识别率保留进入下一级里具有物体特征的待选物体,每一级的子分类器是由许多haar特征构成的,其包括:水平、竖直、倾斜,并且每个特征都有着一个阈值和两个分支值,每级的子分类器都带一个总阈值。haar-like特征值定义为图像中白色矩形区域内部所有像素之和与黑色矩形区域所有像素之和的差值,所以haar-like特征也称之为矩形特征。

帕帕耶奥尔尤等人最早在人脸表示中使用haar-like特征,他们在人脸检测的研究中使用了haar小波基函数,并且提出了三种类型三种形式特征。在这之后保罗维奥拉等人又对此进行了改进,提出了二种类型四种形式的特征。具体,如图4所示。

由图4可以看出,haar-like特征是由黑色和白色的矩形框表示的,计算haar特征值时,要将灰度化的图像分为黑色和白色两个区域,计算黑色区域b与白色区域w的像素值之和的差值,再乘以相应的权重系数t,即可

得到相应的haar-like特征值:

对于图a、图b及图d,特征值计算方式为:

chaar=sum白-sum黑(2-2)

对于图c,特征值计算方式为:

chaar=sum白-2*sum黑(2-3)

以上就是初始的haar-like特征的计算方法,当获取一张样本图像时,根据这种方法就可以计算出这幅图像的特征值并且保存下来;然而由于最初的haar-like特征矩阵的数量过少,这并不足以描述一幅图像的特征。

新的haar-like特征是由:4个边缘特征、8个线性特征、2个圆心环绕特征、1个对角特征构成的;具体,如图5所示。

本发明用了图5中的15种特征矩形模板,将这些矩形模板在样本图像中任意摆放,每一种形态都称之为一种特征,然后找出样本图像中所有的特征,这就是训练分类器的基础了。

adaboost的具体算法:

对于某n个样本文件(x1,y1),...,(xn,yn),设定正样本(人脸样本)yi=1,设定负样本(非人脸样本)yi=-1;

初始化样本的权重;

定义训练的轮数为n,从第一轮到第n轮,分别做:

挑选出这一轮训练过程中的最优弱分类器,该弱分类器需使误差最小;更新权重;归一化权重;

获得、输出强分类器。

弱分类器:如图6所示:最开始获得的弱分类器,有可能只包含一个haar-like特征。它是不能够直接进行我们的人脸检测工作的,因为它的效果可能与随机检测的效果差不了多少,所需要的是利用它获得一个最优弱分类器,这样才能进行我们的下一步工作。

把弱分类器的训练过程称之为“决策树”:在机器学习中,利用决策树来分析检测各个因素对结果会造成什么影响,这一过程是一种从属性到值的映射。决策树中的节点代表着对象,分叉路径代表着属性,叶节点代表从这条路径的属性所得到的值。

弱分类器的训练方法与上图类似,它拥有一个阈值,在每一个非叶子节点中,它都需要去判断一次,当某张图片的计算所得的特征值大于这个阈值时,这就被判定为人脸开始进行下一步,如果不是的话则被判定为非人脸,经过这样的反复运算,最优弱分类器就这样产生了。

强分类器:如图7所示:通过弱分类器得到强分类器的,对于强分类器有着如下定义:

f(x)代表强分类器,fn(x)代表第n个弱分类器,φ代表强分类器的阈值;

具体步骤如下所示:

先设定轮数n,第一轮先训练样本,训练所得的最终结果便是最优的弱分类器。

在之前的标准上提高被误判样本的权重标准,将得到的新样本与上一轮误测的样本放在一起,再次进行新一轮的样本训练;

循环步骤②,在经历n轮的循环后便可获得n个最优弱分类器。

把训练得到的n个最优弱分类器组合,最终得到的结果便是强分类器。

级联分类器:虽然强分类器可以将准确率保持在一定高度,但是只有一个强分类器的话还是难以真正投入应用到人脸检测中,因为单个的强分类器有着这么一个特点:它的错误接受率比较小,但是检测率也不太高。换句说,非人脸通过检测的概率是非常低的,但是人脸能够通过检测的概率也不会那么高。而实际应用中,当然是越高越好的检测率和越低越好的错误接受率,比如要高达90%的人脸可以通过检测,而只有1%的非人脸可以通过检测。但是,设置强分类器阈值的时候可以发现:决定了高的检测率和低的错误接受率这是互为矛盾的,所以增加强分类器的数量,用来达到分类器在提高正确检测率的同时还能够大大降低错误接受率。

所以级联分类器,就是多个强分类器的组合,在前面的级层中,强分类器较为简单,节点数量较少,而在后面的级层,强分类器相对复杂,节点数量多。

3.1图片预处理

用于测试的图片与视频都是彩色图像,在使用分类器开始检测目标之前,必须要对图像进行一定方式的预处理。

对于视频文件,需要从中提取出一帧图片;对于图片则可以直接开始处理,首先使用cvcvtcolor(,,cv_bgr2gray)函数将待检测图片转换为灰度图像,再使用cvresize(,,cv_inter_linear)对图片进行双线性插值的缩放,最后使用cvequalizehist(,)进行直方图均衡化,就可以开始检测了。

人脸检测方法:一般来说,有两种检测方法来实现任意尺寸的人脸检测:一种是基于图像"金字塔"式缩放法,还有一种是基于检测窗口等比例放大法。

基于图像"金字塔"缩放法:如图9所示:传统的检测方法中,多数采用的是这种基于图像"金字塔"式缩放的方法:将检测窗口的高度、长度、宽度恒定不变,不断地缩放待检测图片的大小比例,每一次缩放都采用和之前相同的比例。每一幅被等比缩放的待检测图像,都要穷举出所有的窗口,并且使用分类器对之前所有的窗口都进行检测。这种方法的好处就在于,它并没有改变检测窗口的大小,也没有缩放特征矩阵,而是使图片在检测时的环境和训练分类器时的环境保持一致,检测的识别率变得更高。然而它有一个很严重的问题:它得对每一个被缩放后的图片都进行特征值计算,这便大大增加了运算的时间,使整个检测效率都降低了。

基于检测窗口等比例放大法:如图10所示:将待检测图片的大小恒定不变,而对窗口不断放大并且检测其大小,每一次放大都要等比例,而且图片本身的大小不能小于放大后窗口的大小;将每一个被放大的检测窗口,都对图片进行遍历,获得检测结果。采用这种方法虽然对检测结果的精确率会产生一定的影响,但是它不需要花时间来改变图片的大小,这样便减少了后台计算量

此表,为上述两种检测方法的对比

通过对比可以看出,其实在处理单张图片的检测时,使用传统的“金字塔”缩放法并没有太大问题,因为仅仅两秒的等待时间对于用户来说是可以接受的范围;但是如果是在处理视频文件时,这种方法就不太适用了,而必须采用耗时较少效率高的方法来达到实时监测的目的。所以,本发明采用的检测方法基于检测窗口等比例放大法。

以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1