一种基于机器学习的复杂背景下人数检测系统的制作方法

文档序号:16899677发布日期:2019-02-19 17:50阅读:242来源:国知局
一种基于机器学习的复杂背景下人数检测系统的制作方法

本发明涉及一种基于机器学习的复杂背景下人数检测系统。



背景技术:

目前,在视频中监测人数的主要方法有:使用sobel和canny等算子边缘检测人脸的结构特征、检测基于面部不变的特征(如眼睛、眉毛)、使用匹配算法来检测视频中人脸是否存在与模板相匹配的部分、使用经过训练的分类器来检测人脸。

使用sobel和canny算子检测人脸的结构特征方法简单,检测速度较快,但是在复杂背景下精度较差,容易出现较大的误检。由于复杂背景下存在面部遮挡,光照不均匀等情况,检测面部不变特征的方法很容易受到其影响,精度较差。由于人种、肤色、胖瘦等因素,使用匹配算法需要采集大量的样本,才可以得到一个稳定的人脸模板,匹配过程中计算量太大,不适合用于存在多人的实时视频监控。使用经过训练的分类器是目前常用且效果较好的方法。主要的方法有提取每帧图片的方向梯度直方图(hog)特征和支持向量机(svm)相结合的方法。但是这种方法容易受到噪声的干扰,而且一旦人脸被遮挡,检测精度就会大大下降。由于在实际应用中,人脸不会总是面对摄像头,所以需要检测多角度的人脸,甚至需要检测人体背面,以上几种方法在此方面表现不佳。



技术实现要素:

本发明的目的在于提供一种基于机器学习的复杂背景下人数检测系统,可在复杂背景下通过视频监控检测人数,提出了一种搭载红外摄像头的基于机器学习的人数检测系统,增强了夜间及弱环境光、低照明度下的人数检测能力,采用基于头肩的聚合通道特征(acf)算法和adaboost算法相结合的方法,可以提高在面部存在遮挡、光照不均匀、存在噪声等复杂背景下实时检测人数的正确率和速度,并且可以检测多角度的人体,正面、背面、侧面均可检测。

为实现上述目的,本发明的技术方案是:一种基于机器学习的复杂背景下人数检测系统,包括红外摄像头、搭载基于头肩的聚合通道特征算法和adaboost算法的acf检测器的微处理器;

所述红外摄像头,用于实时采集图像,形成视频流,并将每一帧图像送入微处理器的acf检测器中;

所述微处理器对输入原始图像进行处理,处理过程如下:

(1)通过acf检测器根据输入图像的高度和宽度计算图像特征金字塔尺度数量,即特征金字塔的层数;生成每个尺度的缩放比例,对输入原始图像进行下采样,即对上一层图像做高斯内核卷积,舍弃偶数行和偶数列,重复以上计算,得到所有层数的图像;

(2)使用opencv的split函数,将所有层数的图像bgr像素格式拆分为r通道、g通道、b通道,使用opencv的rgb2luv_sse函数进行转换,将图像转换到luv颜色空间,得到l、u、v三个颜色特征通道;

(3)对所有层数的图像像素进行非线性变换,计算梯度幅值和梯度方向;梯度幅值取垂直方向的幅值梯度,梯度方向的角度范围为[0,π);与(-1,0,1)梯度算子做卷积得到水平方向梯度gx,与(-1,0,1)t梯度算子做卷积得到垂直方向梯度gy,梯度方向为使用2d三角滤波器进行图像的快速卷积;将梯度幅值进行归一化消除不同特征之间量纲不同带来的影响;得到梯度幅值一个特征通道;

(4)计算梯度方向直方图;将梯度方向[0,π)分为6个区间,将所有层数的图像的梯度幅值作为权重,把图像的梯度方向投影到6个区间,统计6个区间的投影数,计算梯度方向直方图,得到6个通道特征;

(5)经过(2)、(3)、(4)步骤的计算,所有层数图像中每个像素都有一个包含10个特征通道的聚合通道特征;若取得的通道尺寸和预先设定的通道尺寸不匹配,则进行降采样,计算每个通道的系数,以给定的系数进行特征图的重采样,接着调用opencv的convtri函数进行图像平滑,最后进行图像填充,前三个通道为颜色通道,采用复制方式进行填充,其余通道为梯度幅值通道和梯度方向直方图通道,采用0进行填充;

(6)对所有层数的图像的聚合通道特征进行滑动窗口检测。选取16×16像素大小的窗口,以8像素为步长,从图像的左上角开始,向右和向下滑动,将当前窗口的特征描述子送入经过头肩样本训练的增强弱分类器,分类器对特征描述子进行评分;如果当前窗口评分低于阈值,则立即停止判断,若当前窗口评分高于阈值,则记录该窗口的位置和置信度,框出人体的位置,直到滑动窗口到达图片的右下角;

(7)使用caltech行人数据集和matlab计算机视觉工具箱处理样本和训练模型;提取行人数据集中的头肩样本的聚合通道特征,采用adaboost算法训练,得到基于增强决策树的头肩检测分类器;

(8)由于在不同尺度下的图片进行特征提取的滑动窗口的大小是不变的,所以需要将经过标记后的图像金字塔中每个尺度的图片放大到原始图像的大小;根据步骤(1)得到的缩放比例,使用opencv的resize函数,将经过标记的不同尺度的图像恢复到原始图像大小,就可以把原始图像上的所有人体都标记出来;

(9)由于采用滑动窗口检测,同一个人体可能会出现多个标记框,每个框都带有分类器的得分,每个框有可能互相重叠;因此需要去除冗余的标记框,只保留最准确的标记框;由于一帧视频里面可能存在多个人,单纯取得分最高的标记框是不可行的,因此采用非极大值抑制算法,即首先将所有的框按照分类器得分从低到高排序;选择得分最高的框,遍历其余的框,如果和得分最高的框的重叠面积与这两个框面积之间最小值的比值大于设定的阈值,则删除该框;接着从剩下还未处理的框中选取得分最高的框继续以上处理,直到不存在重叠的标记框;

(10)统计标记框的个数,即为检测到的人数;并在每个框旁显示置信度。

在本发明一实施例中,还包括一wifi模块,用于将微处理器处理后的每一帧图像通过无线发送至监控室接收端,实现实时监控人数。

在本发明一实施例中,所述步骤(3)中,使用2d三角滤波器进行图像的快速卷积,其半径取值为5。

在本发明一实施例中,所述步骤(3)中,将梯度幅值进行归一化的归一化系数为0.005。

相较于现有技术,本发明具有以下有益效果:本发明基于机器学习的复杂背景下人数检测系统具有较好的检测正确率和检测速度。搭载的红外摄像头使得检测系统在夜间及弱环境光、低照明度下仍可以进行视频监控。微处理器搭载基于头肩的聚合通道特征(acf)算法和adaboost算法的acf检测器,通过对每个像素采集10个聚合通道特征送入分类器分类,可以提高面部存在遮挡、光照不均匀、存在噪声等复杂背景下的人数检测正确率和检测速度,并且可以检测多角度的人体,正面、背面、侧面均可识别。wifi模块将经过人数标记的视频实时发送到监控端。所以本发明提出的系统可以24小时,多角度实时检测人数。

附图说明

图1为本发明人数检测系统框图。

图2为本发明算法工作流程图。

图3为本发明人数检测系统工作流程图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

本发明提供了一种基于机器学习的复杂背景下人数检测系统,包括红外摄像头、搭载基于头肩的聚合通道特征算法和adaboost算法的acf检测器的微处理器;

所述红外摄像头,用于实时采集图像,形成视频流,并将每一帧图像送入微处理器的acf检测器中;

所述微处理器对输入原始图像进行处理,处理过程如下:

(1)通过acf检测器根据输入图像的高度和宽度计算图像特征金字塔尺度数量,即特征金字塔的层数;生成每个尺度的缩放比例,对输入原始图像进行下采样,即对上一层图像做高斯内核卷积,舍弃偶数行和偶数列,重复以上计算,得到所有层数的图像;

(2)使用opencv的split函数,将所有层数的图像bgr像素格式拆分为r通道、g通道、b通道,使用opencv的rgb2luv_sse函数进行转换,将图像转换到luv颜色空间,得到l、u、v三个颜色特征通道;

(3)对所有层数的图像像素进行非线性变换,计算梯度幅值和梯度方向;梯度幅值取垂直方向的幅值梯度,梯度方向的角度范围为[0,π);与(-1,0,1)梯度算子做卷积得到水平方向梯度gx,与(-1,0,1)t梯度算子做卷积得到垂直方向梯度gy,梯度方向为使用2d三角滤波器进行图像的快速卷积;将梯度幅值进行归一化消除不同特征之间量纲不同带来的影响;得到梯度幅值一个特征通道;

(4)计算梯度方向直方图;将梯度方向[0,π)分为6个区间,将所有层数的图像的梯度幅值作为权重,把图像的梯度方向投影到6个区间,统计6个区间的投影数,计算梯度方向直方图,得到6个通道特征;

(5)经过(2)、(3)、(4)步骤的计算,所有层数图像中每个像素都有一个包含10个特征通道的聚合通道特征;若取得的通道尺寸和预先设定的通道尺寸不匹配,则进行降采样,计算每个通道的系数,以给定的系数进行特征图的重采样,接着调用opencv的convtri函数进行图像平滑,最后进行图像填充,前三个通道为颜色通道,采用复制方式进行填充,其余通道为梯度幅值通道和梯度方向直方图通道,采用0进行填充;

(6)对所有层数的图像的聚合通道特征进行滑动窗口检测。选取16×16像素大小的窗口,以8像素为步长,从图像的左上角开始,向右和向下滑动,将当前窗口的特征描述子送入经过头肩样本训练的增强弱分类器,分类器对特征描述子进行评分;如果当前窗口评分低于阈值,则立即停止判断,若当前窗口评分高于阈值,则记录该窗口的位置和置信度,框出人体的位置,直到滑动窗口到达图片的右下角;

(7)使用caltech行人数据集和matlab计算机视觉工具箱处理样本和训练模型;提取行人数据集中的头肩样本的聚合通道特征,采用adaboost算法训练,得到基于增强决策树的头肩检测分类器;

(8)由于在不同尺度下的图片进行特征提取的滑动窗口的大小是不变的,所以需要将经过标记后的图像金字塔中每个尺度的图片放大到原始图像的大小;根据步骤(1)得到的缩放比例,使用opencv的resize函数,将经过标记的不同尺度的图像恢复到原始图像大小,就可以把原始图像上的所有人体都标记出来;

(9)由于采用滑动窗口检测,同一个人体可能会出现多个标记框,每个框都带有分类器的得分,每个框有可能互相重叠;因此需要去除冗余的标记框,只保留最准确的标记框;由于一帧视频里面可能存在多个人,单纯取得分最高的标记框是不可行的,因此采用非极大值抑制算法,即首先将所有的框按照分类器得分从低到高排序;选择得分最高的框,遍历其余的框,如果和得分最高的框的重叠面积与这两个框面积之间最小值的比值大于设定的阈值,则删除该框;接着从剩下还未处理的框中选取得分最高的框继续以上处理,直到不存在重叠的标记框;

(10)统计标记框的个数,即为检测到的人数;并在每个框旁显示置信度。

还包括一wifi模块,用于将微处理器处理后的每一帧图像通过无线发送至监控室接收端,实现实时监控人数。

所述步骤(3)中,使用2d三角滤波器进行图像的快速卷积,其半径取值为5。所述步骤(3)中,将梯度幅值进行归一化的归一化系数为0.005。

以下为本发明的具体实现过程。

本发明提出的基于机器学习的复杂背景下人数检测系统采用红外摄像头进行实时图像采集。微处理器搭载基于头肩的聚合通道特征(acf)算法和adaboost算法的acf检测器,实时处理采集的图像,采用基于头肩的聚合通道特征(acf)算法进行聚合通道特征提取,将特征描述子送入adaboost强分类器分类,判断是否存在人,并将人肩部以上标记出来,给出检测置信度以及检测人数。wifi模块将实时监控视频和检测结果发送到监控室。人数检测系统的框图如图1所示。

本发明系统由三个部分构成,分别为红外摄像头、搭载基于头肩的聚合通道特征(acf)算法和adaboost算法的acf检测器的微处理器、wifi模块。

基于机器学习的复杂背景下人数检测系统各模块功能如下所述:

1、红外摄像头

红外摄像头可以提高在弱环境光下的检测能力。微处理器的搭载的算法对环境光线要求不高,只需要采集的图像人眼可辨认即可。算法对拍摄角度要求不高,只需要拍摄到人的正面或侧面或背面,所以摄像头可安装在墙体侧面高处。

2、微处理器

微处理器与摄像头相连,实时处理摄像头采集的图像。微处理器进行实时处理的算法工作流程图如图2所示,具体过程如下所述:

1)打开摄像头,捕捉摄像头生成的视频流,将每一帧图像送入acf检测器判断是否存在人。

2)acf检测器根据输入图像的高度和宽度计算图像特征金字塔尺度数量,即特征金字塔的层数。生成每个尺度的缩放比例,对原始图片进行下采样,即对上一层图像做高斯内核卷积,舍弃偶数行和偶数列。重复以上计算,即可得到所有层数的图像。

3)使用opencv的split函数,将所有层数的bgr像素格式拆分为r通道,g通道,b通道,使用opencv的rgb2luv_sse函数进行转换,将图像转换到luv颜色空间,得到l、u、v三个颜色特征通道。

4)对所有层数的图像像素进行非线性变换,计算梯度幅值和梯度方向。梯度幅值取垂直方向的幅值梯度,梯度方向的角度范围为[0,π)。与(-1,0,1)梯度算子做卷积得到水平方向梯度gx,与(-1,0,1)t梯度算子做卷积得到垂直方向梯度gy,梯度方向为使用2d三角滤波器进行图像的快速卷积,取半径为5。将梯度幅值进行归一化,归一化系数为0.005,消除不同特征之间量纲不同带来的影响。得到梯度幅值一个特征通道。

5)计算梯度方向直方图。将梯度方向[0,π)分为6个区间,将所有层数的图像的梯度幅值作为权重,把图像的梯度方向投影到6个区间,统计6个区间的投影数,计算梯度方向直方图,得到6个通道特征。

6)经过3)、4)、5)步骤的计算,所有层数图像中每个像素都有一个包含10个特征通道的聚合通道特征。若取得的通道尺寸和预先设定的通道尺寸不匹配,则进行降采样,计算每个通道的系数,以给定的系数进行特征图的重采样,接着调用opencv的convtri函数进行图像平滑,最后进行图像填充,前三个通道为颜色通道,采用复制方式进行填充,其余通道为梯度幅值通道和梯度方向直方图通道,采用0进行填充。

7)对所有层数的图像的聚合通道特征进行滑动窗口检测。选取16×16像素大小的窗口,以8像素为步长,从图像的左上角开始,向右和向下滑动,将当前窗口的特征描述子送入经过头肩样本训练的增强弱分类器,分类器对特征描述子进行评分。如果评分低于阈值,则立即停止判断,若该窗口评分高于阈值,则记录该窗口的位置和置信度,框出人体的位置,直到滑动窗口到达图片的右下角。

8)使用caltech行人数据集和matlab计算机视觉工具箱(piotr'scomputervisionmatlabtoolbox)处理样本和训练模型。提取行人数据集中的头肩样本的聚合通道特征,采用adaboost算法训练,得到基于增强决策树的头肩检测分类器。由于训练样本采用的是头肩样本,所以分类器可以检测出人的正面、侧面和背面。

9)由于在不同尺度下的图片进行特征提取的滑动窗口的大小是不变的,所以需要将经过标记后的图像金字塔中每个尺度的图片放大到原始图像的大小。根据步骤2得到的缩放比例,使用opencv的resize函数,将经过标记的不同尺度的图像恢复到原始图像大小,就可以把原始图像上的所有人体都标记出来。

10)由于采用滑动窗口检测,同一个人体可能会出现多个标记框,每个框都带有分类器的得分,每个框有可能互相重叠。我们需要去除冗余的标记框,只保留最准确的标记框。由于一帧视频里面可能存在多个人,单纯取得分最高的标记框是不可行的,采用非极大值抑制算法可以较好地解决此问题。首先将所有的框按照分类器得分从低到高排序。选择得分最高的框,遍历其余的框,如果和得分最高的框的重叠面积与这两个框面积之间最小值的比值大于设定的阈值,则删除该框。接着从剩下还未处理的框中选取得分最高的框继续以上处理,直到不存在重叠的标记框。

11)统计标记框的个数,即为检测到的人数。并在每个框旁显示置信度。

3、wifi模块

wifi模块将实时处理的每一帧视频画面通过无线网络发送到监控室接收端,实现实时监控人数。

本发明人数检测系统工作流程图如图3所示,工作流程如下所述:

(1)微处理器打开摄像头,红外摄像头录制视频。

(2)微处理器捕捉摄像头生成的视频流,将每一帧图像送入acf检测器。

(3)acf检测器计算图像特征金字塔,生成每个尺度的图像。

(4)将rgb颜色空间的图像转换到luv颜色空间,得到3个特征通道。

(5)计算图像的梯度幅值以及6个方向的梯度方向直方图,得到7个特征通道。

(6)对所有尺度的图像进行滑动窗口检测。

(7)将滑动窗口的特征描述子送入经过头肩样本训练的分类器判断是否存在人。

(8)将每个尺度的图像进行缩放,使用非极大值抑制去除冗余重叠的标记框。

(9)统计标记框的个数。

(10)wifi模块将经过标记的视频发送到监控端。

本发明可以在复杂背景下实时检测人数,提高了面部存在遮挡、光照不均匀、图像存在噪声、人未正对摄像头(侧对或背对)下的检测正确率和检测速度。搭载红外摄像头增强了在弱光环境下的检测能力。实现了可以全天实时检测复杂背景下多角度人体的人数检测系统。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

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