一种基于深度学习的人群密度检测方法和系统与流程

文档序号:11231131阅读:602来源:国知局

本发明属于机器视觉领域,特别涉及一种基于深度学习的人群密度检测方法和系统。



背景技术:

随着我国经济的高速发展,人口城市化日益明显。越来越多的人涌入城市,导致城市内许多公共场合(包括地铁、机场、商业区、体育场等)的人口密度不断增长。尤其在公共节假日时段,人群拥挤现象屡见不鲜。人群作为一个特殊的管理对象,越来越受到社会的重视。因此如何实时有效地监控人群,消除人群过度拥挤带来的安全隐患,是现今社会亟待解决的问题之一。地铁作为城市轨道交通系统中的组成部分,人群密度检测的需求更为急切。

传统方法利用人数的统计来判断场景内是否拥挤。但因监控场景面积不同,单纯的通过人员进出或手机信号发射统计人数存在大量耗费人力财力和产生误差较大的问题。而且地铁中不同地段的面积不同,仅通过统计人数无法准确判断出场景内人群的密集程度,而对于处理公共场合的突发状况,人群密集程度更为重要,人数统计仅作为辅助数据提供。

目前对人群密度的研究可分为两类,分别是基于像素的方法和基于纹理分析的方法。基于像素的方法最早是由davies在文章“基于图像处理的人群监控”(crowdmonitoringusingimageprocessing,electronics&communicationengineeringjournal,1995,7(1):37-47)中提出,通过背景提取人群前景,运用边缘检测法提取前景边缘像素数目,根据标定的人数拟合人群数量估计线性模型,将提取的前景边缘像素数输入估计模型可获得对应的人群数量。由于透视畸变效应的影响,人群前景像素与边缘像素数目随着其真实点距摄像机的远近产生近大远小现象。基于像素的方法在人群密度较小时具有良好的效果,随着人群密度增大,因行人间相互遮挡使得此类方法的线性关系不再成立。1998年,marana提出了一种基于纹理分析技术的人群密度估计方法;该方法的依据是不同密度的人群图像对应的纹理模式不同。高密度的人群在纹理上表现为细模式,而低密度的人群图像在背景图像为低频的同时在纹理上表现为粗模式。基于纹理分析的密度估计方法可以解决高密度人群密度问题,但是算法计算量较大,特征量较多,并且当背景较复杂时,对中低密度人群估计的误差较大。此后,就如何结合使用不同纹理分析方法来提高人群密度估计准确率成为了研究热点。并且现有技术中人群密度检测方法中在图像处理过程中所用到的背景图像通常通过计算每个像素的平均值所获取到的,环境光照变化和背景的多模态性比较敏感,随着环境的变化,其适应性将变差,会影响到人群密度的检测精度。

另外,现有技术中针对于人群密度检测的系统,通常是将获取到的图像通过网络传送到远端控制中心,通过远端控制中心对图像进行分析后检测到的,这类系统通信需要占用较大的带宽进行图像传输,具有图像处理过程慢且实时性差等缺陷。



技术实现要素:

本发明的第一目的在于克服现有技术的缺点与不足,提供一种检测精度高、计算量小的基于深度学习的人群密度检测方法。

本发明的第二目的在于通过一种用于实现上述方法的基于深度学习的人群密度检测系统。

本发明的第一目的通过下述技术方案实现:一种基于深度学习的人群密度检测方法,步骤如下:

s1、通过摄像头实时的获取每帧图像,取出前若干帧图像,然后对这若干帧图像进行背景学习,得到背景图像信息;

s2、针对之后的各帧图像,依据步骤s1中获取到的背景图像信息,采用背景差分法提取出各帧图像中的目标前景图像;

s3、选取出多帧步骤s2中已提取出目标前景图像且属于低密度人群等级的图像,对选取出的各帧图像标定人群数量,依据上述选取的各帧图像中目标前景图像像素的数目和人群数量之间的关系拟合得到第一低密度人群模型,或者根据上述选取各帧图像中目标前景图像的边缘像素数目和人群数量之间的关系拟合得到第二低密度人群模型;同时选取出多帧步骤s2中已提取出目标前景图像且属于高密度人群等级中各个等级的图像作为训练样本,采用灰度共生矩阵提取各训练样本目标前景图像的纹理特征,将各训练样本目标前景图像的纹理特征输入至bp神经网络,对bp神经网络进行训练,得到高密度人群模型;

s4、针对于步骤s2中获取到的需要检测人群密度的各帧图像,将图像的目标前景图像像素的数目输入至第一低密度人群模型,获取到人群数量,然后判断获取到的人群数量是否超过一定值f,若否,则根据上述获取到的人群数量确定出人群密度等级,若是,则进入步骤s5;

或者针对于步骤s2中获取到的需要检测人群密度的各帧图像,将图像目标前景图像的边缘像素的数目输入至第二低密度人群模型,获取到人群数量,然后判断获取到的人群数量是否超过一定值f,若否,则根据上述获取到的人群数量确定出人群密度等级;若是,则进入步骤s5;

s5、采用灰度共生矩阵提取图像的目标前景图像的纹理特征,将提取的纹理特征输入至高密度人群模型中,通过高密度人群模型的输出获取到人群密度等级。

优选的,所述步骤s1中背景学习的过程如下:

s11、针对取出的前若干帧图像中的第一帧图像首先转换成灰度图像,并且根据该帧灰度图像的每个像素点分别建立初始码本;第一帧图像的每个像素点对应一个初始码本,其中每个初始码本中包含一个码元,该码元记录的是第一帧图像中对应像素点的灰度值;并且设置开始学习阈值;

s12、针对于取出的前若干帧图像中第一帧图像之后的图像,每当获取到下一帧图像时,首先将该帧图像转换成灰度图像,并且针对该帧灰度图像的各像素点进行以下操作:

将该帧灰度图像的像素点与之前帧灰度图像的相同位置像素点构成的当前码本进行码本匹配,检测该帧灰度图像像素点灰度值是否在之前帧灰度图像相同位置像素点构成的当前码本的某个码元的学习阈值范围内;

若是,则根据该帧灰度图像的像素点灰度值更新该码元的码元成员变量,其中码元的成员变量中包括像素点的灰度值最大值和灰度值最小值;

若否,则根据该帧灰度图像的像素点的灰度值建立一个新码元,通过该新码元记录该帧灰度图像的该像素点的灰度值,并且添加到当前码本中,得到更新后的码本,同时更新当前学习阈值;

s13、检测s12中获取到的帧是否为取出的前若干帧图像中的最后一帧图像

若否,则在获取到下一帧图像时,继续执行步骤s12;

若是,则背景学习完成,根据步骤s12获取到的各像素点分别对应的码本获取到背景图像信息。

更进一步的,所述步骤s11中将开始学习阈值设置为10。

更进一步的,所述步骤s12中通过对当前学习阈值进行加1以实现更新。

更进一步的,所述步骤s12中码元的学习阈值范围为:码元记录的像素点灰度值-学习阈值~码元记录的像素点灰度值+学习阈值。

优选的,还包括步骤s6、判断各帧图像通过步骤s4或s5获取到的人群密度等级检测结果是否正常;具体过程如下:

获取当前帧图像的前一帧图像人群密度等级和后一帧图像人群密度等级;将当前帧图像人群密度等级及其前一帧图像人群密度等级和后一帧图像人群密度等级进行比较:

若当前帧图像人群密度等级与其前一帧图像人群密度等级和后一帧图像人群密度等级均不相同,则判断当前帧图像人群密度等级检测出错,根据该帧的实际所属人群密度等级作为下一次第一低密度人群模型、第二低密度人群模型或高密度人群模型的训练样本;

若当前帧图像人群密度等级与其前一帧图像人群密度等级不相同,而与其下一帧图像人群密度等级相同,则认定人群密度在前一帧图像和当前帧图像之间发生了突变,当前帧图像人群密度等级检测正常;

若当前帧图像人群密度等级与其前一帧图像人群密度等级相同,而与其下一帧图像人群密度等级不相同,则认定人群密度在当前帧图像和下一帧图像之间发生了突变,当前帧图像人群密度等级检测正常。

优选的,所述纹理特征包括asm能量、对比度、逆差矩、熵和自相关。

优选的,步骤s1中取出前30帧图像,然后对这30帧图像进行背景学习,得到背景图像信息。

本发明的第二目的通过下述技术方案实现:一种用于实现上述人群密度检测方法的基于深度学习的人群密度检测系统,包括摄像头,用于实时的获取每帧图像,其特征在于,还包括本地图像处理装置和控制中心,所述摄像头通过数据线连接本地图像处理装置,所述本地图像处理装置通过网络连接控制中心;

所述本地图像处理装置,用于针对各帧图像检测人群密度,并且将各帧图像对应的人群密度信息通过网络发送至控制中心;所述本地图像处理装置包括:

背景建模模块,用于从摄像头中获取前若干帧图像,并且针对这若干帧图像进行背景学习,得到背景图像信息;

背景差分模块,用于针对之后的各帧图像,依据背景图像信息,采用背景差分法提取出各帧图像中的目标前景图像;

边缘检测模块,用于针对图像中目标前景图像进行边缘检测;

像素统计模块,用于统计图像中目标前景图像的像素数目,用于统计图像中目标前景图像的边缘像素数目;

纹理特征提取模块,用于采用灰度共生矩阵针对图像中的目标前景图像进行纹理特征特提取;

低密度人群模型建立模块,用于依据选取的属于低密度人群等级的各帧图像中目标前景图像像素的数目及其标定的人群数量之间的关系拟合得到第一低密度人群模型,或者用于根据选取的属于低密度人群等级的各帧图像中目标前景图像的边缘像素数目和标定的人群数量之间的关系拟合得到第二低密度人群模型;

高密度人群模型建立模块,用于将属于高密度人群等级中各个等级的训练样本图像对应的纹理特征输入至bp神经网络,对bp神经网络进行训练,建立得到高密度人群模型;

低密度人群密度检测模块,用于针对于需要检测人群密度的各帧图像,将图像的目标前景图像像素的数目输入至第一低密度人群模型,获取到该帧人群数量,当检测到人群数量超过一定值f时,则将该帧图像输入至高密度人群密度检测模块,当检测到人群数量未超过一定值f时,则人群数量获取到该帧图像的人群密度等级;用于针对于需要检测人群密度的各帧图像,将图像的目标前景图像的边缘像素数目输入至第一低密度人群模型,获取到该帧人群数量,当检测到人群数量超过一定值f时,则将该帧图像输入至高密度人群密度检测模块,当检测到人群数量未超过一定值f时,则人群数量获取到该帧图像的人群密度等级;

高密度人群密度检测模块,用于在接收到低密度人群检测模块输入的图像时,首先通过纹理特征提取模块获取到该帧图像目标前景图像的纹路特征,将该纹理特征输入至高密度人群模型,通过高密度人群模型获取到该帧图像的人群密度等级。

优选的,所述本地图像处理装置为arm开发板;所述本地图像处理装置中的背景建模模块、背景差分模块、边缘检测模块、像素统计模块、纹理特征提取模块、低密度人群模型建立模块、高密度人群模型建立模块、低密度人群密度检测模块和高密度人群密度检测模块均由arm开发板中软件平台搭建构成。

本发明相对于现有技术具有如下的优点及效果:

(1)本发明首先通过摄像头获取到的前若干帧图像进行背景学习,得到背景图像信息,然后根据背景图像信息,针对接下来获取到的各帧图像提取目标前景图像。接下来选取出多帧已提取出目标前景图像且属于低密度人群等级的图像,并且对这些图像标定人群数量,以通过像素统计法建立低密度人群模型;同时选取出多帧通过上述方法已提取出目标前景图像且属于高密度人群等级中各个等级的图像作为训练样本,并且各训练样本目标前景图像的纹理特征输入至bp神经网络,对bp神经网络进行训练,得到高密度人群模型;针对需要检测人群密度的各帧图像,首先输入至低密度人群模型,当低密度人群模型获取到人群数量结果未超过一定值时,则根据人群数量判断出人群密度等级,当低密度人群模型获取到人群数量结果超过一定值时,则将该帧图像输入至高密度人群模型,通过高密度人群模型判断出人群密度。本发明将基于像素统计方式和基于纹理特征的方式相结合,通过基于像素统计的方法获取到低密度人群的人群密度等级,而当基于像素统计的方法无法进行正确判断的高密度人群通过基于纹理特征的方法进行人群密度等级的检测,具有检测精度高、计算量小的优点。并且本发明方法中的背景图像为通过摄像头获取的前若干帧图像进行学习而获取到的,其中每个像素的时间序列模型在建模过程中可以适应运动,能很好地处理时间起伏,通过背景学习可以到复杂的动态背景,因此通过背景学习而获取到的背景图像能够获取到更加准确的目标前景图像,进一步提高了人群密度检测的准确性。

(2)本发明人群密度检测系统主要由摄像头、本地图像处理装置以及控制中心构成,其中摄像头获取到的各帧图像直接通过数据线传送给本地图像处理装置,本地图像处理器针对摄像头传送的各帧图像进行处理后得到人群密度,并且将人群密度发送至控制中心,可见本发明是通过本地图像处理器直接处理图像的,不需要通过网络将庞大的图像发送到后台进行处理,只需要占用少部分的带宽传送检测到的人群密度结果值控制中心即可,因此本发明人群密度检测系统具有占用带宽少且处理速度快的优点。

附图说明

图1是本发明人群密度检测方法流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

本实施例公开了一种基于深度学习的人群密度检测方法,如图1所示,步骤如下:

s1、通过摄像头实时的获取每帧图像,取出前若干帧图像,然后对这若干帧图像进行背景学习,得到背景图像信息;本实施例中取出前30帧图像进行背景学习。

本步骤中背景学习的过程如下:

s11、针对取出的前若干帧图像中的第一帧图像首先转换成灰度图像,并且根据该帧灰度图像的每个像素点分别建立初始码本;第一帧图像的每个像素点对应一个初始码本,其中每个初始码本中包含一个码元,该码元记录的是第一帧图像中对应像素点的灰度值;并且设置开始学习阈值;在本实施例中开始学习阈值设置为10;

s12、针对于取出的前若干帧图像中第一帧图像之后的图像,每当获取到下一帧图像时,首先将该帧图像转换成灰度图像,并且针对该帧灰度图像的各像素点进行以下操作:

将该帧灰度图像的像素点与之前帧灰度图像的相同位置像素点构成的当前码本进行码本匹配,检测该帧灰度图像像素点灰度值是否在之前帧灰度图像相同位置像素点构成的当前码本的某个码元的学习阈值范围内;其中码元的学习阈值范围为:码元记录的像素点灰度值-学习阈值~码元记录的像素点灰度值+学习阈值。

若是,则根据该帧灰度图像的像素点灰度值更新该码元的码元成员变量,其中码元的成员变量中包括像素点的灰度值最大值和灰度值最小值;

若否,则根据该帧灰度图像的像素点的灰度值建立一个新码元,通过该新码元记录该帧灰度图像的该像素点的灰度值,并且添加到当前码本中,得到更新后的码本,同时更新当前学习阈值;本实施例中通过对当前学习阈值进行加1以实现学习阈值的更新;

s13、检测s12中获取到的帧是否为取出的前若干帧图像中的最后一帧图像

若否,则在获取到下一帧图像时,继续执行步骤s12;

若是,则背景学习完成,根据步骤s12获取到的各像素点分别对应的码本获取到背景图像信息。

s2、针对之后的各帧图像,依据步骤s1中获取到的背景图像信息,采用背景差分法提取出各帧图像中的目标前景图像;

s3、选取出多帧步骤s2中已提取出目标前景图像且属于低密度人群等级的图像,对选取出的各帧图像标定人群数量,依据上述选取的各帧图像中目标前景图像像素的数目和人群数量之间的关系拟合得到第一低密度人群模型,或者根据上述选取各帧图像中目标前景图像的边缘像素数目和人群数量之间的关系拟合得到第二低密度人群模型;同时选取出多帧步骤s2中已提取出目标前景图像且属于高密度人群等级中各个等级的图像作为训练样本,采用灰度共生矩阵提取各训练样本目标前景图像的纹理特征,将各训练样本目标前景图像的纹理特征输入至bp神经网络,对bp神经网络进行训练,得到高密度人群模型;

s4、针对于步骤s2中获取到的需要检测人群密度的各帧图像,将图像的目标前景图像像素的数目输入至第一低密度人群模型,获取到该帧人群数量,然后判断获取到的人群数量是否超过一定值f,若否,则根据上述获取到的人群数量获取到该帧图像的人群密度等级,若是,则进入步骤s5;

或者针对于步骤s2中获取到的需要检测人群密度的各帧图像,将图像目标前景图像的边缘像素的数目输入至第二低密度人群模型,获取到该帧图像的人群数量,然后判断获取到的人群数量是否超过一定值f,若否,则根据上述获取到的人群数量确定出到该帧图像的人群密度等级若是,则进入步骤s5;

s5、采用灰度共生矩阵提取该帧图像的目标前景图像的纹理特征,将提取的纹理特征输入至高密度人群模型中,通过高密度人群模型的输出获取到人群密度等级。

s6、判断各帧图像通过步骤s4或s5获取到的人群密度等级检测结果是否正常;具体过程如下:

获取当前帧图像的前一帧图像人群密度等级和后一帧图像人群密度等级;将当前帧图像人群密度等级及其前一帧图像人群密度等级和后一帧图像人群密度等级进行比较:

若当前帧图像人群密度等级与其前一帧图像人群密度等级和后一帧图像人群密度等级均不相同,则判断当前帧图像人群密度等级检测出错,根据该帧的实际所属人群密度等级作为下一次第一低密度人群模型、第二低密度人群模型或高密度人群模型的训练样本;

若当前帧图像人群密度等级与其前一帧图像人群密度等级不相同,而与其下一帧图像人群密度等级相同,则认定人群密度在前一帧图像和当前帧图像之间发生了突变,当前帧图像人群密度等级检测正常;

若当前帧图像人群密度等级与其前一帧图像人群密度等级相同,而与其下一帧图像人群密度等级不相同,则认定人群密度在当前帧图像和下一帧图像之间发生了突变,当前帧图像人群密度等级检测正常。

其中上述提到的图像的目标前景图像的纹理特征包括asm能量(angularsecondmoment)、对比度(contrast)、逆差矩(inversedifferentmoment)、熵(entropy)和自相关(correlation)。

本实施例还公开了一种用于实现人群密度检测方法的基于深度学习的人群密度检测系统,包括用于实时的获取每帧图像摄像头、本地图像处理装置和控制中心,摄像头通过数据线连接本地图像处理装置,本地图像处理装置通过网络连接控制中心;其中本地图像处理装置,用于针对各帧图像检测人群密度,并且将各帧图像对应的人群密度信息通过网络发送至控制中心;

本实施例中本地图像处理装置包括:

背景建模模块,用于从摄像头中获取前若干帧图像,并且针对这若干帧图像进行背景学习,得到背景图像信息;

背景差分模块,用于针对之后的各帧图像,依据背景图像信息,采用背景差分法提取出各帧图像中的目标前景图像;

边缘检测模块,用于针对图像中目标前景图像进行边缘检测;

像素统计模块,用于统计图像中目标前景图像的像素数目,用于统计图像中目标前景图像的边缘像素数目;

纹理特征提取模块,用于采用灰度共生矩阵针对图像中的目标前景图像进行纹理特征特提取;

低密度人群模型建立模块,用于依据选取的属于低密度人群等级的各帧图像中目标前景图像像素的数目及其标定的人群数量之间的关系拟合得到第一低密度人群模型,或者用于根据选取的属于低密度人群等级的各帧图像中目标前景图像的边缘像素数目和标定的人群数量之间的关系拟合得到第二低密度人群模型;

高密度人群模型建立模块,用于将属于高密度人群等级中各个等级的训练样本图像对应的纹理特征输入至bp神经网络,对bp神经网络进行训练,建立得到高密度人群模型;

低密度人群密度检测模块,用于针对于需要检测人群密度的各帧图像,将图像的目标前景图像像素的数目输入至第一低密度人群模型,获取到该帧人群数量,当检测到人群数量超过一定值f时,则将该帧图像输入至高密度人群密度检测模块,当检测到人群数量未超过一定值f时,则人群数量获取到该帧图像的人群密度等级;用于针对于需要检测人群密度的各帧图像,将图像的目标前景图像的边缘像素数目输入至第一低密度人群模型,获取到该帧人群数量,当检测到人群数量超过一定值f时,则将该帧图像输入至高密度人群密度检测模块,当检测到人群数量未超过一定值f时,则人群数量获取到该帧图像的人群密度等级;

高密度人群密度检测模块,用于在接收到低密度人群检测模块输入的图像时,首先通过纹理特征提取模块获取到该帧图像目标前景图像的纹路特征,将该纹理特征输入至高密度人群模型,通过高密度人群模型获取到该帧图像的人群密度等级。

在本实施例中本地图像处理装置为三星s5pv210处理器,三星s5pv210处理器的华清fs210开发板(根据实际需要可选择其他开发板)将程序移植到arm板平台。本地图像处理装置中的背景建模模块、背景差分模块、边缘检测模块、像素统计模块、纹理特征提取模块、低密度人群模型建立模块、高密度人群模型建立模块、低密度人群密度检测模块和高密度人群密度检测模块均由arm开发板中软件平台搭建构成。

s5pv210采用了armcortextm-a8内核,armv7指令集,主频可达1ghz,64/32位内部总线结构,32/32kb的数据/指令一级缓存,512kb的二级缓存,可以实现2000dmips(每秒运算20亿条指令集)的高性能运算能力。包含很多强大的硬件编解码功能,支持mpeg-1/2/4,h.263,h.264等格式视频的编解码,支持模拟/数字tv输出。jpeg硬件编解码,最大支持8000x8000分辨率。

内建高性能powervrsgx5403d图形引擎和2d图形引擎,支持2d/3d图形加速,是第五代powervr产品,其多边形生成率为2800万多边形/秒,像素填充率可达2.5亿/秒,在3d和多媒体方面比以往大幅提升,能够支持dx9,sm3.0,opengl2.0等pc级别显示技术。

具备iva3硬件加速器,具备出色的图形解码性能,可以支持全高清、多标准的视频编码,流畅播放和录制30帧/秒的1920×1080像素(1080p)的视频文件,可以更快解码更高质量的图像和视频,同时,内建的hdmiv1.3,可以将高清视频输出到外部显示器上。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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