CN103049787B - 一种基于头肩特征的人数统计方法和系统 - Google Patents
一种基于头肩特征的人数统计方法和系统 Download PDFInfo
- Publication number
- CN103049787B CN103049787B CN201110305285.6A CN201110305285A CN103049787B CN 103049787 B CN103049787 B CN 103049787B CN 201110305285 A CN201110305285 A CN 201110305285A CN 103049787 B CN103049787 B CN 103049787B
- Authority
- CN
- China
- Prior art keywords
- pedestrian
- head shoulder
- current frame
- frame image
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供一种基于头肩特征的人数统计方法及装置,所述人数统计方法通过在当前帧图像中移动视窗,检测当前帧图像中行人的头肩部信息,并利用检测到的行人的头肩部信息建立行人检测列表,根据当前帧图像之前的至少一帧图像中的行人的头肩部信息,预测当前帧图像中行人的头肩部信息,并利用预测的行人的头肩部信息更新预先建立的行人跟踪列表;通过将行人检测列表和行人跟踪列表中行人的头肩部信息相融合,更新行人跟踪列表;根据行人跟踪列表中行人的头肩部信息进行人数统计。该人数统计方法不仅增大了检测的目标,而且更好地适应了监控图像的特征,进而可以提高人数统计的准确率。
Description
技术领域
本发明涉及计算机图像处理和模式识别领域,具体涉及一种基于头肩特征的人数统计方法和系统。
背景技术
在诸如超市、地铁以及车站等人数量较大的公共场所,为了更好地进行人群管理、资源配置以及提高安全保障,不仅需要安装监控系统,还需要对进出的人数量进行统计。
传统的人数统计方法是借助红外遮挡系统、激光遮挡系统或压力传感系统,这些系统虽然能够低成本的实现人数的统计,但其统计过程容易受到环境的干扰,导致统计结果不准确。
中国专利申请CN101477641A公开了一种基于视频监控的人数统计方法和系统,其是通过对行人的头部进行检测、跟踪和计数。该统计方法和系统虽然可以达到统计人数的目的,但由于其依赖于行人的头部,在实际统计过程中存在以下缺陷:
第一,由于所监控的公共场所范围较大,视频监控中行人的头部尺寸较小,边缘较为模糊,这使得在从当前图像中识别行人的头部时因出现误差而导致漏计,从而影响人数的统计结果。
第二,视频监控摄像机通常安装在比较高的位置,尤其是在摄像机存在明显偏角时,摄像机俯角的大小直接影响行人头部外观的大小,这将影响行人头部的确定,从而影响人数的统计结果。
第三,当被监控的场景发生变化,如遇到雾天或傍晚等光线较差时,监控到的视频质量较低,行人的头部图像模糊不清,而且人数统计所依据的头部尺寸较小,从而影响人数统计的准确性。
发明内容
本发明要解决的技术问题就是针对现有技术中存在的上述缺陷,提供一种基于头肩特征的人数统计方法和系统,其能够较准确地对行人的数量进行统计。
解决上述技术问题的所采用的技术方案是提供一种基于头肩特征的人数统计方法,包括:
步骤s1,通过在当前帧图像中移动视窗,检测当前帧图像中行人的头肩部信息,并利用检测到的行人的头肩部信息建立行人检测列表,其中,视窗的尺寸随着视窗中心由图像的远景区域向近景区域移动而线性增大;
步骤s2,根据当前帧图像之前的至少一帧图像中的行人的头肩部信息,预测当前帧图像中行人的头肩部信息,并利用预测的行人的头肩部信息更新预先建立的行人跟踪列表;
步骤s3,通过将行人检测列表和行人跟踪列表中行人的头肩部信息相融合,更新行人跟踪列表;
步骤s4,根据行人跟踪列表中行人的头肩部信息进行人数统计。
本发明基于上述人数统计方法,提出了一种基于头肩特征的人数统计系统,包括:
头肩部检测模块,用于在当前帧图像中移动视窗,检测当前帧图像中行人的头肩部信息,以确定当前帧图像中行人的头肩部,并利用检测到的行人的头肩部信息建立行人检测列表,其中,视窗的尺寸随着视窗中心由图像的远景区域向近景区域移动而线性增大;
预测跟踪模块,用于根据当前帧图像之前的至少一帧图像中的行人的头肩部信息,预测当前帧图像中行人的头肩部信息,并利用预测的行人的头肩部信息更新预先建立的行人跟踪列表;
存储模块,用于存储由头肩部检测模块建立的行人检测列表,以及存储由预测跟踪模块建立的行人跟踪列表;
融合模块,用于将行人检测列表和行人跟踪列表中行人的头肩部信息相融合,并更新行人跟踪列表;
人数统计模块,用于根据行人跟踪列表中行人的头肩部信息进行人数统计。
本发明具有以下有益效果:
本发明提供基于头肩特征的人数统计方法及系统,通过尺寸由图像的远景区域到近景区域线性增大的视窗在当前帧视频图像中检测行人的头肩部,能够较好地适应监控摄像头的高度、角度、应用场景以及视频质量的变化,进而可以提高人数统计的准确率;通过根据用户的初始手动标定至多两个行人头肩部和一条绊线,自动生成变化的视窗和多条绊线,减少了繁琐的标定过程,方便用户使用;通过采用双绊线计数,有效提高了人数统计的准确率。
附图说明
图1为本发明实施例中人数统计方法的流程图;
图2为本发明实施例中系统标定示意图;
图3为本发明实施例中视窗检测过程示意图;
图4为本发明实施例中当前像素点的8邻域像素点分布示意图;
图5为本发明实施例中人数统计系统的示例性结构图;
图6为本发明实施例中头肩部检测模块的示例性结构图;
图7为本发明变型实施例中人数统计系统的示例性结构图;
图8为本发明另一变型实施例中人数统计系统的示例性结构图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的基于头肩特征的人数统计方法及系统进行详细描述。
图1为本发明实施例中人数统计方法的流程图。如图1所示,本实施中基于头肩特征的人数统计方法依次接受视频监控图像中的每一帧图像,并依次将每帧图像作为当前帧图像执行如下步骤:
步骤s1,通过在当前帧图像中移动视窗,检测当前帧图像中行人的头肩部信息,并利用检测到的行人的头肩部信息建立行人检测列表,其中,所述视窗的尺寸随着视窗中心由远景区域向近景区域移动而线性增大。
在本步骤中,可以按照现有技术中任一种头肩部检测方式实现行人的头肩部检测;当然,也可以按照本实施例中提出的一种基于头肩特征提取行人的头肩部信息。其中,本实施例所提出的基于头肩特征实现行人的头肩部检测方式在后文中详述。
需要说明的是,由于当前帧图像中可能覆盖很大的范围,如路面和路侧的建筑,可以通过预先设定一个检测区域,仅检测设置的检测区域内的行人来缩小检测的范围,提高效率。同时,在检测区域内既包含了静止区域,如检测区域的背景;又包含了运动区域,即行人或行人携带的行李等。本实施例实现行人统计所依据的必定是运动区域,因此,本步骤可以仅在运动区域进行头肩部的检测,这样不仅可以提高运算速度,还可以提高检测准确率。
步骤s2,根据当前帧图像之前的至少一帧图像中的行人的头肩部信息预测当前帧图像中行人的头肩部信息,并根据预测的行人的头肩部信息更新预先建立的行人跟踪列表。
在本步骤中,可以采用现有任意一种运动预测方式;当然,也可以采用本实施例提供的行人预测方式。其中,本实施例提供的行人预测方式在下文详述。
行人跟踪列表在开始计数之前预先建立,并初始化为空,即行人跟踪列表建立时,列表中没有行人信息。
需要说明的是,本实施例中,行人的头肩部信息包括行人的头肩部的位置、尺寸和轨迹点。当前帧图像中行人的运动向量是根据当前帧图像之前的M帧图像中的平均运动向量获得,其中,M为大于等于1的整数。由前M帧图像中的平均运动向量预测当前帧图像中的行人的头肩部在当前帧图像中的位置、尺寸和轨迹点。
步骤s3,通过将行人检测列表和行人跟踪列表中行人的头肩部信息相融合,更新行人跟踪列表。
在本步骤中,行人检测列表中行人的头肩部信息与行人跟踪列表中行人的头肩部信息相融合,也可称之为行人相似度的匹配过程,即融合过程是一个计算头肩部相似度的过程。融合过程在下文详细描述。
步骤s4,根据行人跟踪列表中行人的头肩部信息进行人数统计。
至此,本流程结束。
下面,对上述流程中的各步骤分别进行详细说明。
首先,需要说明的是,本实施例中,视频图像的左上角作为坐标原点,X轴(横轴)为当前帧图像中水平方向的线,水平向右X逐渐增大,行人沿X轴移动时,头肩部的尺寸不发生变化;Y轴(纵轴)为当前帧图像中竖直方向的线,竖直向下Y逐渐增大,行人沿Y轴移动时,头肩部的尺寸发生变化,而且距离摄像头由近(图像的近景区域)到远(图像的远景区域)逐渐减小,即视频图像的下半部分中的头肩部尺寸大于上半部分中的头肩部尺寸。
其次,需要说明的是,在利用本实施例提供的人数统计方法进行人数统计之前,可以首先对监控的图像进行预处理以减小噪声的影响,预处理可以采用直方图均衡、高斯平滑和中值滤波等多种方法,从算法实时性的角度来考虑,本发明优选采用高斯平滑方法来进行监控图像预处理。
在执行步骤s1之前,需要对人数统计系统进行标定,即需要标定视窗的尺寸和用来计数的绊线。
本实施例中视窗采用正方形视窗,视窗的边长根据预先执行的系统标定和视窗的中心位置确定。通常视窗的尺寸等于视窗中心位置处行人头肩部的平均尺寸。而且,视窗的边长沿Y轴的变化遵循透视模型的近大远小的变化规律,随着视窗中心由远景区域向近景区域移动而线性增大。
当摄像头俯角接近90度时,透视效应并不明显。在监视图像中,近处行人和远处行人的头肩部尺寸相差很小。此时即使利用一个固定尺寸的视窗代表行人的平均头肩尺寸也不会对检测结果造成太大影响。
然而,在实际使用过程中,安装在监控区域的摄像头的俯角往往较小,行人头肩部的尺寸明显存在远小近大的现象。若用固定尺寸的视窗代表各位置行人的头肩尺寸显然不合适。因此,本实施例采用线性透视模型,即由近到远行人的头肩部尺寸是线性减小,与之对应,视窗的边长H与视窗中心所在的纵坐标Y之间的关系满足公式(1):
H=kY+b(1)
式中:H表示视窗的边长;Y表示视窗中心对应的纵坐标;k、b表示线性透视模型的参量,k、b根据预先执行的系统标定确定。
根据用户的输入自动标定系统的视窗尺寸和绊线。首先,在摄像头安装好之后,用户手动在所述摄像头拍摄的视频图像上框选的至少两个行人的头肩部。优选地,首先在摄像头拍摄的视频图像内设置一个行人检测区域,如图2中的21,可以提高行人检测效率。然后,选择同一个摄像头拍摄的两帧视频图像,一帧视频图像的下部包含一个行人的头肩部图像,另一帧视频图像的上部包含一个行人的头肩部图像,用于手动标定;也可以选择包含至少两个行人的一帧图像,用于手动标定,如图2所示的视频图像。系统可以设定用户以正方形窗口或矩形窗口框选行人的头肩部,当以矩形窗口框选用户的头肩部时,矩形窗口的短边与长边的比例应该固定。所述矩形窗口的短边长或正方形窗口的边长于行人的头肩部的高度对应。根据检测到的用户手动在所述摄像头拍摄的视频图像上框选的至少两个行人的头肩部,确定视窗的边长与视窗的中心位置的线性关系,即线性透视模型的参量。例如,检测到用户在图2所示的视频图像上用正方形框选的两个行人的头肩部,较远处的正方形为22,表示为(Y2,H2),其中Y2为正方形的中心位置,H2为正方形的边长;较近处的为正方形21,表示为(Y1,H1),其中Y1为正方形的中心位置,H1为正方形的边长视窗视窗。分别将上述两个正方形作为两个视窗,带入公式(1),就可以获得线性模型的参量k、b的取值,得到视窗的尺寸和中心位置的对应关系,即线性模型H=k0Y+b0。可见,视窗的尺寸随着视窗的中心位置由视频图像的上部向下部移动而变化。根据确定的线性模型和视窗的中心位置在视频图像内的坐标,可以确定指定位置处的视窗的尺寸。
在进行人数量统计之前,还需要在视频图像的检测区域内设置绊线,通常绊线是水平设置的直线。现有系统中,只设置一条绊线,计数会有误差,本发明通过用户手动设置一条基准绊线,如图2中的24,然后由系统自动生成对称分布于所述基准绊线两侧的多条辅助绊线,本实施例在基准绊线两侧各生成两条辅助绊线,如图2中的25、26、27、28,采用双绊线计数,可以提高人数量统计的准确度,同时又不增加用户设置绊线的难度。优选地,相邻两根绊线之间的距离等于中心在基准绊线上的视窗的边长或等于30~60个像素的尺寸。
上述步骤s1的具体工作过程如下。
本实施例是利用视窗和SVM分类器提取当前帧图像中行人的头肩部特征。如图3所示,视窗在当前帧图像中从左向右,由上至下移动视窗时,其移动步长可以等于视窗的边长,也可以等于视窗边长的1/2、1/4或1/5。随着视窗的移动,依次提取视窗所覆盖区域的特征。
本实施例中视窗所覆盖区域的特征包括像素点的CsLbp特征和Lbp特征,CsLbp特征和Lbp特征分别可以包括四邻域像素点特征和八邻域像素点特征。
具体地,首先将视窗所覆盖的区域分成n×n个正方形块,每个块的边长为视窗边长的n分之一,块之间没有重叠,每p×p个相邻块组成一个像素单元,p小于n,得到q个像素单元,分别提取q个像素单元的特征,串联得到视窗的特征。n为大于1的整数。本实施例中n=4,得到4×4=16个正方形块,再将每2×2个相邻块组成一个像素单元,得到9个像素单元。
每一个像素点有八个距离为1的邻域像素点,分布在中间像素点周围,如图4所示,按照与中间像素点的相对位置将八个邻域像素点分别定义为左上、上、右上、右、右下、下、左下和左。
对每一个像素单元,首先计算每个像素单元中所有像素点的8邻域特征4邻域特征和4邻域特征再统计整个像素单元内所有像素点的特征直方图(即3×16=48维的特征直方图),9个像素单元的特征串联起来得到9×48=432维的特征,作为视窗区域的特征输入SVM分类器。
其中,特征的计算方法如下:将当前像素点的八邻域像素点分成四组,依次为{左上、右下}、{上、下}、{右上、左下}和{右、左},计算每组内两个像素点的灰度差,如果差值大于预设阈值,则标记该组特征位为1,反之标记该组特征位为0,将四组像素点的特征位串联起来,获得长度为4位,范围为0000~1111的二进制串,为一个十进制表示的16维特征,作为该像素点的特征。
特征的计算方法如下:依次比较当前像素点的上、右、下和左邻域像素点灰度值与中间像素点灰度值的大小,若邻域像素点灰度值大,则标记该特征位为1,反之标记该特征位为0,将四个特征位串联起来,获得长度为4位,范围为0000~1111的二进制串,为一个十进制表示的16维特征,作为该像素点的特征。
特征的计算方法如下:依次比较当前像素点的左上、右上、右下和左下邻域像素点灰度值与中间像素点灰度值的大小,若邻域像素点灰度值大,则标记该特征位为1,反之标记该特征位为0,将四个特征位串联起来,获得长度为4位,范围为0000~1111的二进制串,为一个十进制表示的16维特征,作为该像素点的特征。
利用本实施例提供的像素单元的特征可以更有效地提取当前帧图像中行人头肩部的信息,从而可以提高人数统计的准确性。
这样,步骤s1的具体处理过程包括:
步骤s11,提取视窗所覆盖当前区域的特征,视窗所覆盖区域的特征包括:特征、特征以及
步骤s12,利用预先训练好的SVM分类器对步骤s11所提取的各像素单元的特征进行分类,若SVM分类器输出的结果大于预设阈值,则认为当前视窗所在位置为行人的头肩部,将当前视窗中心所在区域的位置、尺寸及轨迹点加入视窗检测列表。
所述SVM分类器根据收集的10000个行人的头肩部图像作为正样本,50000个非头肩部图像作为负样本,按照步骤s11中的方法分别提取每个样本的432维特征之后,送入SVM分类器训练工具进行训练得到。
步骤s13,在当前帧图像中从左向右,由上至下移动视窗,反复执行步骤s11和步骤s12,直到视窗将当前帧图像全部覆盖。
步骤s14,将视窗检测列表中相似度大于设定阈值的各像素单元的特征合并,以对应同一个行人,并将该行人的头肩部的信息加入行人检测列表。
将视窗检测列表中相似度大于设定阈值的各像素单元的特征进行合并,以将视窗检测列表中表示同一行人的特征合并,以避免后续程序中重复计算。将相似度大于阈值的各像素单元的特征合并后,将行人的头肩部的中心位置、尺寸加入行人检测列表。
优选地,由于当前帧图像中包含有静止区域,为减少提取视窗所覆盖区域的特征所用时间以及后续分类器的判别时间,以提高运算速度,视窗可以仅在运动区域提取各像素点的特征。
本实施例采用帧差法来提取运动区域,得到运动模板。在模板中,运动区域对应的位置标记为1,反之标记为0。在进行视窗检测时,如果视窗所覆盖的区域的运动像素点的数目小于预设的阈值,则将这个区域直接判定为非行人头肩区域,视窗直接滑动到下一个位置。
帧差法计算运动区域模板的方法如下:
(1)对每个像素点(X,Y),计算当前帧图像与前一帧图像相同位置像素点灰度值之差的绝对值,如果此值大于阈值T,则将运动模板对应位置的值置为1,反之,置为0。
(2)帧差阈值T可以设为固定值,也可以是当前像素点所在位置处行人头肩尺寸的四分之一,且不大于16。
在步骤s2中,由于短时间内行人的运动可以视为匀速直线运动,因此本实施例以前M帧图像中行人的平均运动向量作为当前帧图像中行人的运动向量,并据此对在当前帧图像中行人的位置进行预测,利用预测的行人的头肩部信息建立行人跟踪列表,其中,M为大于等于1的整数。
优选地,M选择4,利用当前图像帧之前的4帧图像中行人在水平方向和竖直方向的平均运动相量(dx,dy)作为当前帧图像中行人的运动相量,借助该运动相量预测当前帧图像中的行人在当前帧图像中的位置、尺寸和轨迹点,并将当前帧图像中行人的位置、尺寸以及轨迹点加入行人跟踪列表。
在上述步骤s3中,通过将行人检测列表和行人跟踪列表中行人的头肩部信息相融合,更新行人跟踪列表,以实现对行人的跟踪。
步骤s3的具体处理过程包括:
步骤s31,分别比较行人检测列表中每个行人的第一头肩部信息与行人跟踪列表中每个行人的第二头肩部信息。所述第一头肩部信息和第二头肩部信息分别代表不同列表中的行人的头肩部信息,包括行人的头肩部的位置、尺寸以及轨迹点。
步骤s32,若所述第一头肩部信息和第二头肩部信息的相似度超过设定阈值,则认为这两个头肩部信息属于同一行人。具体为若所述第一头肩部信息和第二头肩部信息的位置和尺寸的相似度超过设定阈值,如:90%,则认为行人检测列表中的所述第一头肩部信息和行人跟踪列表中的第二头肩部信息属于同一行人。
步骤s33,更新行人跟踪列表中该行人的头肩部信息。
在步骤s33中,行人跟踪列表更新过程如下:
计算行人检测列表中每个行人的第一头肩部信息pedi(ped指行人的头肩部信息,包括位置、尺寸以及轨迹点等所有的信息;i表示行人检测列表中第i个行人)与行人跟踪列表中每个行人的第二头肩部信息pedj(j表示行人检测列表中第j个行人)的相似度;如果pedi与pedj的相似度超过设定阈值,则认为第一头肩部信息pedi和第二头肩部信息pedj属于同一个行人,即行人检测列表中的第i个行人和行人跟踪列表中的第j个行人是同一个行人,将行人跟踪列表中的第二头肩部信息pedj中的位置更新为第一头肩部信息pedi和第二头肩部信息pedj平均值,同时根据新位置更新第二头肩部信息pedj的尺寸,并将第二头肩部信息pedj的轨迹点数目增加1,将pedj的位置加入到轨迹点中,作为pedj轨迹的终点。如果pedi与行人跟踪列表中的任一行人都不相似,则直接将pedi加入到行人跟踪列表中,在后续的帧图像中进行跟踪和信息更新。
需要说明的是,第一头肩部信息pedi和第二头肩部信息pedj的相似度是根据头肩部信息中的位置和尺寸确定的两个区域的重叠区域的大小,重叠区域越大,相似度越大。
在上述步骤s4中,根据行人的头肩部的运动轨迹与绊线的关系对行人进行计数。判断行人跟踪列表中每个行人的头肩部的运动轨迹起点和终点的连线是否与绊线相交;若是,则对该行人进行统计。如果在检测区域设置一根基准绊线,则仅需判断行人的头肩部的运动轨迹起点和终点的连线是否与基准绊线相交,若是,则对该行人进行计数。如果在检测区域设置多条绊线,则判断行人跟踪列表中每个行人的头肩部的运动轨迹起点和终点的连线是否与两根以上的绊线相交,若是,则对该行人进行统计;如果仅与其中一条绊线相交,则不对该行人进行计数。采用多条绊线的方式能够在一定程度上减小误计数的发生,即使一条绊线位于低质量区域无法正常工作,也还有其他绊线能够正常进行人数统计,不会对统计正确率造成太大的影响。
而且,如果监控场景较大,光照多变,特别是应用于室外场景时,检测区域内出现部分区域被阴影遮挡或者由于各种原因引起视频质量降低,采用多绊线可以避免人数统计准确率下降。
在本步骤中,还可以根据行人的前进方向(起点到终点的方向)对不同方向的行人分别进行统计,即根据行人跟踪列表中行人头肩部的运动轨迹起点和终点的连线的方向判断行人的前进方向,以分别对不同前进方向的行人进行统计。
另外,当对通过绊线的行人计数后,可以将该行人的计数标志打开,从而可以避免在后续操作中发生重复计数,进而提高人数统计的准确性。
在步骤s4后,还可以包括步骤s5,输出统计结果。
步骤s5是输出截止到当前帧图像时,分别在两个方向上穿过绊线的行人的数目,从而可以随时掌握人数。将不同时刻两个方向统计的行人人数存储,可以获取任意时间间隔内穿过绊线的行人的数目。
本发明提供基于头肩特征的人数统计方法是通过视窗在当前帧图像中检测行人的头肩部,由于头肩部的尺寸较大,因此可以克服视频质量偏低、摄像头俯角较小时,难于辨别行人的缺陷,从而可以提高统计的准确率。另外,视窗的尺寸由远景到近景线性增大,可以更好地适应监控图像的特征,从而可以提高人数统计方法的鲁棒性,进而提高人数统计的准确率。
以上是对本实施例中基于头肩特征的人数统计方法的详细说明。下面,再对本实施例中基于头肩特征的人数统计系统进行说明。
图5本发明实施例中人数统计系统的示例性结构图。如图5所示,本实施例中的人数统计系统包括:系统标定模块400、头肩部检测模块401、预测跟踪模块402、存储模块403、融合模块404以及人数统计模块405。
系统标定模块400是在人数统计系统进行人数统计之前对系统进行标定,其包括:
视窗设定子模块,用于在拍摄的图像上框选至少两个行人的头肩部,分别获得每个头肩部对应的视窗中心在图像中的纵坐标Y和视窗的边长H,并代入公式H=kY+b,获得k、b两个参量的值,从而确定视窗的边长与视窗的中心位置的线性关系。本实施例采用线性透视模型,即由图像的近景区域到远景区域行人尺寸线性减小。
绊线设置子模块,用于在检测区域标定一根基准绊线,以及在所述基准绊线的两侧自动生成多根辅助绊线,且相邻两根绊线之间的距离等于中心在基准绊线上的视窗的边长或等于30~60个像素的尺寸。根据用户的初始手动标定至多两个行人头肩部和一条绊线,自动生成变化的视窗和多条绊线,减少了繁琐的标定过程,方便用户使用。
头肩部检测模块401,用于在当前帧图像中移动视窗,检测当前帧图像中行人的头肩部信息,以确定当前帧图像中行人的头肩部,并利用检测到的行人的头肩部信息建立行人检测列表,其中,视窗的尺寸随着视窗中心由图像的远景区域向近景区域移动而线性增大。
如图6所示,头肩部检测模块401包括视窗搜索子模块411、视窗列表子模块412、分类子模块413、相似性计算子模块414以及结果判定子模块415,其中,
视窗搜索子模块411,用于提取当前视窗所覆盖区域各像素单元的特征。
视窗在当前帧图像中移动时,其行程可以等于视窗的边长,也可以等于视窗边长的1/2、1/4或1/5。视窗在移动过程中不断提取视窗所覆盖区域的特征。在头肩部检测模块401中,将视窗所覆盖的区域分成n×n个正方形块,每个块的边长为视窗边长的n分之一,块之间没有重叠,每p×p个相邻块组成一个像素单元,p小于n,得到q个像素单元,分别提取q个像素单元的特征,串联得到视窗所覆盖区域的特征。n为大于1的整数。视窗所提取的特征与本实施例人数统计方法中的相同,这里不再赘述。
视窗列表子模块412,用于根据当前视窗所覆盖区域的特征组成视窗检测列表,所述视窗检测列表存储在所述存储模块403中。
分类子模块413,用于利用预先训练好的SVM分类器对所述视窗搜索子模块提取的当前视窗所覆盖区域的特征进行分类,若SVM分类器输出的结果大于预设阈值,则认为当前视窗所在位置为行人的头肩部。
所述SVM分类器根据收集的10000个行人的头肩部图像作为正样本,50000个非头肩部图像作为负样本,按照步骤s11中的方法分别提取每个样本的432维特征之后,送入SVM分类器训练工具进行训练得到。
相似性计算子模块414,用于比对视窗检测列表中各个行人头肩部信息的相似度。
结果判定子模块415,用于将相似度大于阈值的各个行人的头肩部合并,以对应同一行人,并将该行人的头肩部信息加入行人检测列表,由存储模块403储存。
预测跟踪模块402,用于根据当前帧图像之前的至少一帧图像中的行人的头肩部信息,预测当前帧图像中行人的的头肩部信息,并利用预测的行人的头肩部信息更新行人跟踪列表。行人跟踪列表是在开始计数之前预先建立的一个用于记录行人跟踪情况的列表,其初始化为空。
存储模块403,用于存储由头肩部检测模块401检测到的行人的头肩部信息建立行人检测列表,以及存储由预测跟踪模块402预测的行人的头肩部信息更新行人跟踪列表。
融合模块404,用于将行人检测列表和行人跟踪列表中行人的头肩部信息相融合,并更新行人跟踪列表。
融合模块404的处理过程包括:比较行人检测列表中每个行人的头肩部信息与行人跟踪列表中每个行人的头肩部信息;若两个行人的头肩部信息的相似度超过预设阈值,则认为这两个行人信息表示同一行人;更新行人跟踪列表中该行人的头肩部信息。行人跟踪列表更新过程与本实施例人数统计方法中的更新过程相同,这里不再赘述。行人的头肩部信息包括行人头肩部的位置、尺寸以及轨迹点。
人数统计模块405,用于根据行人跟踪列表中行人的头肩部信息统计行人的人数。
人数统计模块405包括:判断子模块和计数子模块。其中,
判断子模块,用于根据行人跟踪列表中行人的轨迹起点和轨迹终点的连线是否与所述绊线相交。
当检测区域标定一根基准绊线时,判断子模块只需判断行人的轨迹起点和终点的连线是否与该绊线相交。当检测区域标定多根绊线时,判断子模块判断行人的轨迹起点和终点的连线是否与每根绊线均相交,优选判断行人的轨迹起点和轨迹终点的连线是否与至少两根绊线相交。
计数子模块,当行人的轨迹起点和轨迹终点的连线与所述绊线相交时,其数值加1。
当判断子模块判断行人的轨迹起点和轨迹终点的连线与绊线相交,计数子模块的数值加1。计数子模块统计的人数存储在存储模块403中。
本实施例中,判断子模块还进一步根据行人轨迹起点至轨迹终点的连线方向来判断行人的前进方向,计数子模块对前进方向不同的行人分别进行计数。当计数子模块对某行人计数后,即将该行人的计数标志打开,从而可以避免重复计数。
作为本实施例的一个变型实施例,如图7所示,人数统计系统还可以进一步包括运动区域提取模块406,用于提取当前帧图像中的运动区域,且所述头肩部检测模块401仅在所述运动区域检测行人的头肩部信息。借助运动区域提取模块406可以提高头肩部检测模块401的运算速度,进而提高人数统计系统的统计效率。
运动区域提取模块406采用帧差法来提取运动区域,得到运动模板。在模板中,运动区域对应的位置标记为1,反之标记为0。在进行视窗检测时,如果视窗所覆盖的区域的运动像素点的数目小于阈值,则将这个区域直接判定为非行人头肩区域,视窗直接滑动到下一个位置。
帧差法计算运动区域模板的方法如下:
(1)对每个像素点(X,Y),计算当前帧图像与前一帧图像相同位置像素点灰度值之差的绝对值,如果此值大于阈值T,则将运动模板对应位置的值置为1,反之,置为0。
(2)帧差阈值T可以设为固定值,也可以是当前像素点所在位置处行人头肩尺寸的四分之一,且不大于16。
作为本实施例的另一变型实施例,如图8所示,人数统计系统还可以进一步包括图像处理模块407,用于通过直方均衡、高斯平滑或中值滤波方式对当前帧图像进行处理,以减小噪声的影响。头肩部检测模块401在当前帧图像中检测行人的头肩部信息之前,借助图像处理模块407对当前帧图像进行平滑处理,这样可以提高头肩部检测模块401的检测质量,进而提高人数统计系统的准确率。
需要说明的是,上述基于头肩特征的人数统计系统在实际应用时,可以先进行系统的标定,即用户根据需要设定检测区域,根据透视模型设置视窗的尺寸以及设置绊线,然后进行本实施例所述的人数统计方法的各步骤。
本实施例提供的基于头肩特征的人数统计系统,其头肩部检测模块是通过尺寸由图像的远景区域到近景区域线性增大的视窗在当前帧图像中检测行人的头肩部,由于头肩部的尺寸较大,从而可以克服视频质量偏低、摄像头俯角较小时,难于辨别行人头部的缺陷,从而可以提高统计的准确率。而且,利用头肩特征来调整视窗的尺寸,使视窗的尺寸由远景到近景线性增大,这可以更好地适应了监控图像的特征,从而使人数统计系统较好地适应监控摄像头的高度、角度、应用场景以及视频质量的变化,进而可以提高人数统计的准确率。本实施例提供的基于头肩特征的人数统计系统具有较好的鲁棒性,人数统计的准确率高。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (8)
1.一种基于头肩特征的人数统计方法,其特征在于,包括:
步骤s1,通过在当前帧图像中移动视窗,检测当前帧图像中行人的头肩部信息,并利用检测到的行人的头肩部信息建立行人检测列表,其中,视窗的尺寸随着视窗中心由图像的远景区域向近景区域移动而线性增大;
步骤s2,根据当前帧图像之前的至少一帧图像中的行人的头肩部信息,预测当前帧图像中行人的头肩部信息,并利用预测的行人的头肩部信息更新预先建立的行人跟踪列表;
步骤s3,通过将行人检测列表和行人跟踪列表中行人的头肩部信息相融合,更新行人跟踪列表;
步骤s4,根据行人跟踪列表中行人的头肩部信息进行人数统计;
在步骤s1之前还包括在所述当前帧图像中设置检测区域,所述检测区域的范围小于或等于当前帧图像;
所述步骤s1,通过在当前帧图像中的检测区域内移动视窗,检测当前帧图像中行人的头肩部信息,并利用检测到的行人的头肩部信息建立行人检测列表;
所述视窗的尺寸随着视窗中心由图像的远景区域向近景区域移动而线性增大具体为:当视窗的中心在图像中的纵坐标为Y时,视窗的边长H通过公式H=kY+b得到,
其中,k、b表示参量,通过预先的系统标定确定,所述预先的系统标定包括:在拍摄的图像上框选至少两个行人的头肩部,分别获得每个头肩部对应的视窗中心在图像中的纵坐标Y和视窗的边长H,并代入公式H=kY+b,获得k、b两个参量的值,从而确定视窗的边长与视窗的中心位置的线性关系;
所述步骤s1进一步包括:
步骤s11,提取视窗所覆盖当前区域的特征;
步骤s12,利用预先训练好的SVM分类器对当前区域的特征进行分类,若SVM分类器输出的结果大于预设阈值,则认为当前视窗所覆盖的区域为行人的头肩部,将当前视窗所覆盖区域的位置、尺寸及轨迹点加入视窗检测列表;
步骤s13,在当前帧图像中从左向右、由上至下移动视窗,反复执行步骤s11和步骤s12,直到视窗将当前帧图像全部覆盖;
步骤s14,将视窗检测列表中相似度大于设定阈值的各个行人的头肩部合并,以对应同一个行人,并将该行人的头肩部的信息加入行人检测列表。
2.根据权利要求1所述的基于头肩特征的人数统计方法,其特征在于,所述预先的系统标定还包括:
根据用户在检测区域标定一根基准绊线,自动生成对称分布于所述基准绊线两侧的多条辅助绊线,其中相邻两条绊线之间的距离等于中心在基准绊线上的视窗的边长或等于30~60个像素的尺寸。
3.根据权利要求1所述的基于头肩特征的人数统计方法,其特征在于,首先将视窗所覆盖的区域分成n×n个正方形块,每个块的边长为视窗边长的n分之一,块之间没有重叠,每p×p个相邻块组成一个像素单元,p小于n,得到q个像素单元,分别提取q个像素单元的特征,串联得到视窗所覆盖区域的特征。
4.根据权利要求1所述的基于头肩特征的人数统计方法,其特征在于,在所述步骤s2中,根据当前帧图像之前的至少1帧图像中行人在的平均运动向量预测当前帧图像中对应行人的头肩部信息,并将当前帧图像中行人的头肩部信息加入行人跟踪列表。
5.根据权利要求2所述的基于头肩特征的人数统计方法,其特征在于,所述步骤s3包括:
步骤s31,比较行人检测列表中每个行人的第一头肩部信息与行人跟踪列表中每个行人的第二头肩部信息;
步骤s32,若所述第一头肩部信息与第二头肩部信息的相似度超过设定阈值,则认为所述第一头肩部信息和第二头肩部信息属于同一行人;
步骤s33,更新行人跟踪列表中该行人的第二头肩部信息。
6.根据权利要求2所述的基于头肩特征的人数统计方法,其特征在于,在步骤s4中,判断行人跟踪列表中每个行人的头肩部运动轨迹起点和终点的连线是否与至少两条绊线相交,若是,则对该行人进行统计。
7.根据权利要求1-6任意一项所述的基于头肩特征的人数统计方法,其特征在于,在所述步骤s1之前,还包括提取当前帧图像中的运动区域,且所述视窗仅在运动区域检测行人的头肩部信息。
8.一种基于头肩特征的人数统计系统,其特征在于,
头肩部检测模块,用于在当前帧图像中移动视窗,检测当前帧图像中行人的头肩部信息,以确定当前帧图像中行人的头肩部,并利用检测到的行人的头肩部信息建立行人检测列表,其中,视窗的尺寸随着视窗中心由图像的远景区域向近景区域移动而线性增大;
预测跟踪模块,用于根据当前帧图像之前的至少一帧图像中的行人的头肩部信息,预测当前帧图像中行人的头肩部信息,并利用预测的行人的头肩部信息更新预先建立的行人跟踪列表;
存储模块,用于存储由头肩部检测模块建立的行人检测列表,以及存储由预测跟踪模块建立的行人跟踪列表;
融合模块,用于将行人检测列表和行人跟踪列表中行人的头肩部信息相融合,并更新行人跟踪列表;
人数统计模块,用于根据行人跟踪列表中行人的头肩部信息进行人数统计;
人数统计系统还包括系统标定模块,其包括视窗设定子模块,用于在拍摄的图像上框选至少两个行人的头肩部,分别获得每个头肩部对应的视窗中心在图像中的纵坐标Y和视窗的边长H,并代入公式H=kY+b,获得k、b两个参量的值,从而确定视窗的边长与视窗的中心位置的线性关系;
所述系统标定模块还包括绊线设置子模块,用于在检测区域标定一根基准绊线,以及在所述基准绊线的两侧自动生成多根辅助绊线,且相邻两根绊线之间的距离等于中心在基准绊线上的视窗的边长或等于30~60个像素的尺寸;
所述头肩部检测模块包括视窗搜索子模块、视窗列表子模块、分类子模块、相似性计算子模块以及结果判定子模块,其中,
所述视窗搜索子模块用于提取当前视窗所覆盖区域的特征;
所述视窗列表子模块用于根据当前视窗所覆盖区域的特征组成视窗检测列表,所述视窗检测列表存储在所述存储模块中;
所述分类子模块用于利用预先训练好的SVM分类器对所述视窗搜索子模块提取的当前视窗所覆盖区域的特征进行分类,若SVM分类器输出的结果大于预设阈值,则认为当前视窗所在位置为行人的头肩部;
所述相似性计算子模块用于比对视窗检测列表中各个行人头肩部信息的相似度;
所述结果判定子模块用于将相似度大于阈值的各个行人的头肩部合并,以对应同一行人,并将该行人的头肩部信息加入行人检测列表,由所述存储模块储存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110305285.6A CN103049787B (zh) | 2011-10-11 | 2011-10-11 | 一种基于头肩特征的人数统计方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110305285.6A CN103049787B (zh) | 2011-10-11 | 2011-10-11 | 一种基于头肩特征的人数统计方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049787A CN103049787A (zh) | 2013-04-17 |
CN103049787B true CN103049787B (zh) | 2015-11-25 |
Family
ID=48062419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110305285.6A Active CN103049787B (zh) | 2011-10-11 | 2011-10-11 | 一种基于头肩特征的人数统计方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049787B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400142B (zh) * | 2013-05-14 | 2016-06-01 | 上海交通大学 | 一种行人计数方法 |
CN103679212A (zh) * | 2013-12-06 | 2014-03-26 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 基于视频图像的人员检测和计数方法 |
CN103646254B (zh) * | 2013-12-19 | 2017-01-25 | 北方工业大学 | 一种高密度行人检测方法 |
CN105100683A (zh) * | 2014-05-04 | 2015-11-25 | 深圳市贝尔信智能系统有限公司 | 一种基于视频的客流统计的方法,装置及系统 |
CN105095891A (zh) * | 2014-05-05 | 2015-11-25 | 深圳市贝尔信智能系统有限公司 | 一种人脸捕捉的方法,装置及系统 |
CN103971135A (zh) * | 2014-05-05 | 2014-08-06 | 中国民航大学 | 基于头肩深度信息特征的人体目标检测方法 |
CN104063692A (zh) * | 2014-06-30 | 2014-09-24 | 武汉烽火众智数字技术有限责任公司 | 一种行人定位检测方法及系统 |
CN105354610A (zh) * | 2014-08-18 | 2016-02-24 | 无锡慧眼电子科技有限公司 | 一种基于随机Hough变换的人数统计方法 |
CN104318578B (zh) * | 2014-11-12 | 2017-07-21 | 苏州科达科技股份有限公司 | 一种视频图像分析方法及系统 |
CN106570449B (zh) * | 2016-02-29 | 2019-07-23 | 浙江工业大学 | 一种基于区域定义的人流量与人气指数检测方法及检测系统 |
CN105844234B (zh) * | 2016-03-21 | 2020-07-31 | 商汤集团有限公司 | 一种基于头肩检测的人数统计的方法及设备 |
CN106250828B (zh) * | 2016-07-22 | 2019-06-04 | 中山大学 | 一种基于改进的lbp算子的人群计数方法 |
CN107241645B (zh) * | 2017-06-09 | 2020-07-24 | 成都索贝数码科技股份有限公司 | 一种通过对视频的字幕识别自动提取进球精彩瞬间的方法 |
CN109697499B (zh) | 2017-10-24 | 2021-09-07 | 北京京东尚科信息技术有限公司 | 行人流量漏斗生成方法及装置、存储介质、电子设备 |
CN109902537B (zh) * | 2017-12-08 | 2021-04-02 | 杭州海康威视数字技术股份有限公司 | 一种人数统计方法、装置、系统及电子设备 |
CN108363953B (zh) * | 2018-01-12 | 2020-09-29 | 浙江大华技术股份有限公司 | 一种行人检测的方法及双目监控设备 |
CN108549846B (zh) * | 2018-03-26 | 2022-03-22 | 北京航空航天大学 | 一种结合运动特征和头肩结构的行人检测与统计方法 |
CN110490030B (zh) * | 2018-05-15 | 2023-07-14 | 保定市天河电子技术有限公司 | 一种基于雷达的通道人数统计方法及系统 |
CN110738076A (zh) * | 2018-07-19 | 2020-01-31 | 郑州大学 | 一种图像中的人数统计方法及系统 |
CN109101929A (zh) * | 2018-08-16 | 2018-12-28 | 新智数字科技有限公司 | 一种行人计数方法及装置 |
CN109697435B (zh) * | 2018-12-14 | 2020-10-23 | 重庆中科云从科技有限公司 | 人流量监测方法、装置、存储介质及设备 |
CN109684991B (zh) * | 2018-12-24 | 2021-10-01 | 北京旷视科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN110059581A (zh) * | 2019-03-28 | 2019-07-26 | 常熟理工学院 | 基于场景深度信息的人群计数方法 |
CN111260696B (zh) * | 2020-01-21 | 2023-04-18 | 北京工业大学 | 一种面向边缘端行人跟踪和人数精确统计的方法 |
CN111259855A (zh) * | 2020-02-09 | 2020-06-09 | 天津博宜特科技有限公司 | 基于深度学习的移动式安全帽佩戴检测方法 |
CN112520606A (zh) * | 2020-10-21 | 2021-03-19 | 浙江大华技术股份有限公司 | 塔吊监控系统和塔吊监控方法 |
CN112434566B (zh) * | 2020-11-04 | 2024-05-07 | 深圳云天励飞技术股份有限公司 | 客流统计方法、装置、电子设备及存储介质 |
CN114092890B (zh) * | 2022-01-20 | 2022-04-12 | 长沙海信智能系统研究院有限公司 | 区域内可容纳人数的确定方法、装置、设备及介质 |
CN114640807B (zh) * | 2022-03-15 | 2024-01-16 | 京东科技信息技术有限公司 | 基于视频的对象统计方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339605A (zh) * | 2008-08-14 | 2009-01-07 | 北京中星微电子有限公司 | 基于视频监控的人数检测系统及方法 |
CN101477641A (zh) * | 2009-01-07 | 2009-07-08 | 北京中星微电子有限公司 | 基于视频监控的人数统计方法和系统 |
CN102063613A (zh) * | 2010-12-28 | 2011-05-18 | 北京智安邦科技有限公司 | 基于头部识别的人群计数方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8320613B2 (en) * | 2008-06-04 | 2012-11-27 | Lockheed Martin Corporation | Detecting and tracking targets in images based on estimated target geometry |
-
2011
- 2011-10-11 CN CN201110305285.6A patent/CN103049787B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339605A (zh) * | 2008-08-14 | 2009-01-07 | 北京中星微电子有限公司 | 基于视频监控的人数检测系统及方法 |
CN101477641A (zh) * | 2009-01-07 | 2009-07-08 | 北京中星微电子有限公司 | 基于视频监控的人数统计方法和系统 |
CN102063613A (zh) * | 2010-12-28 | 2011-05-18 | 北京智安邦科技有限公司 | 基于头部识别的人群计数方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103049787A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049787B (zh) | 一种基于头肩特征的人数统计方法和系统 | |
CN108596129B (zh) | 一种基于智能视频分析技术的车辆越线检测方法 | |
CN104978567B (zh) | 基于场景分类的车辆检测方法 | |
CN102982598B (zh) | 基于单个摄像头场景配置的视频人数统计方法和系统 | |
CN102915433B (zh) | 基于字符组合的车牌定位和识别方法 | |
CN104318263A (zh) | 一种实时高精度人流计数方法 | |
CN103871079A (zh) | 基于机器学习和光流的车辆跟踪方法 | |
CN104517095B (zh) | 一种基于深度图像的人头分割方法 | |
CN103903019A (zh) | 一种多车道车辆轨迹时空图的自动生成方法 | |
Ryan et al. | Crowd counting using group tracking and local features | |
CN111369596B (zh) | 一种基于视频监控的手扶电梯客流量统计方法 | |
CN103473554A (zh) | 人流统计系统及方法 | |
CN107563330B (zh) | 一种监控视频中的水平倾斜车牌矫正方法 | |
CN104616290A (zh) | 一种统计矩阵模型和自适应阈值相结合的目标检测算法 | |
CN103150559A (zh) | 基于Kinect三维深度图像的头部识别与跟踪方法 | |
CN103123726B (zh) | 一种基于运动行为分析的目标跟踪算法 | |
CN104484645A (zh) | 一种面向人机交互的“1”手势识别方法与系统 | |
EP2813973B1 (en) | Method and system for processing video image | |
CN103810722A (zh) | 结合改进的lbp纹理和色度信息的运动目标检测方法 | |
CN101799968A (zh) | 基于视频图像智能分析的油井入侵检测方法及装置 | |
CN110379168A (zh) | 一种基于Mask R-CNN的交通车辆信息获取方法 | |
CN103325115A (zh) | 一种基于头顶摄像头的监控行人计数的方法 | |
CN116153086B (zh) | 基于深度学习的多路段交通事故及拥堵检测方法及系统 | |
CN104159088A (zh) | 一种远程智能车辆监控系统及方法 | |
CN102610104A (zh) | 一种车载的前方车辆检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |