一种基于时空上下文的人流量统计方法技术

技术编号:9668323 阅读:284 留言:0更新日期:2014-02-14 07:06
本发明专利技术公开了一种基于时空上下文的人流量统计方法,包括以下步骤:对灰度序列G中的每一帧图像,借助sobel算子及帧间差分法提取膨胀后的运动边缘,在膨胀后的运动边缘处进行基于HOG特征的人头目标检测,从而得到初步检测目标队列head_list,根据空间约束将虚假目标从队列head_list中删除,将head_list中的目标与之前所有帧中检测出来的最终目标进行灰度互相关关联匹配,对统计队列people_list中的目标进行跟踪,对统计队列people_list中的目标位置进行更新,对统计队列people_list中的目标进行统计。由于加入了时间和空间信息,本发明专利技术能够在保证高检测率的同时,有效地减少虚假目标的数量,准确性高,能进行实时视频处理,能对图像的几何及光学形变都能保持良好的不变性,故使得本方法鲁棒性好。

【技术实现步骤摘要】

本专利技术属于模式识别
,更具体地,涉及一种基于时空上下文的人流量统 计方法。
技术介绍
随着经济的快速发展,对行人或客流进行统计显得尤为重要。首先它是一项重要 的市场研究手段,是国外几乎所有大型商场和连锁商业网点在进行市场和管理决策前都必 须进行的环节。此外,人流量统计系统可同时应用到机场或地铁等场所,提取的行人数量, 可以为制定相应的策略提供重要依据。人流量统计所涉及的目标识别及目标跟踪一直是模式识别领域中的热点,现有的 提取运动目标的方法有以下几种:(I)帧间差分法,其通过连续两帧灰度图像相减后阈值化,求得差分图像,找出运 动的点。该方法的不足在于对环境噪声较为敏感,阈值的选择尤为重要,选择的阈值过低可 能会引入大量噪声,选择的阈值过高又可能会丧失有用的信息。对于颜色一致的运动目标, 有可能在目标内部产生空洞,无法完整地提取运动目标;(2)光流法,其在适当的平滑性约 束条件下,根据图像序列的时空梯度估算运动场,通过分析运动场的变化对运动目标和场 景进行检测与分割。光流法不需要预先知道场景的任何信息,就能够检测到运动对象,可处 理背景运动的情况,但噪声、多光源、阴影和遮挡等因素会对光流场分布的计算结果造成严 重影响;而且光流法计算复杂,很难实现实时处理;(3)背景建模法,通过建立背景模型, 用图像和背景模型相减后阈值化提取运动的前景,该方法的不足之处在于:对光照变化敏 感,无法适应光照变化剧烈的场景;背景中存在的细微的运动及目标的阴影会对前景目标 检测产生影响。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种基于时空上下文约束的人流量 统计方法,旨在解决现有方法中存在的准确率低、处理速度慢、鲁棒性差等问题。为实现上述目的,本专利技术提供了一种基于时空上下文约束的人流量统计方法,包 括以下步骤:( I)提取灰度序列G膨胀后的运动边缘,具体包括以下子步骤:(1-1)初始化图像 pCur、psPre、pPre、psCur、pDiff 和 pEro、以及统计队列 people_ list为空,初始化变量up、dw为0,其中dw为统计的向下走的人数,up为统计的向上走的 人数;(1-2)获取视频序列F,并设置计数器k=l,读入视频序列F的第k帧图像Fk,首先 将其转为灰度图像Gk,保存Gk到图像pCur,用sobel算子对Gk处理,处理后的结果保存到 psCur ;(1-3)初始化队列head—list为空,设置计数器k=k+l,读入第k巾贞图像Fk,将pCur复制到pPre,并将psCur复制到psPre,将Fk对应的灰度图像Gk保存到pCur, sobel算子对Gk处理后得到的图像保存到psCur ;(1-4)将psCur图像和psPre图像对应像素点作差,并将差值保存在pDiff图像中,若此差值大于100,则将pDiff图像中相同位置处的像素点的像素值设置为255,否则将其像素值设置为0,由此得到二值图像pDiff,该二值图像中的白点可认为是运动目标的边缘;(1-5)对二值图像pDiff进行膨胀;(2)在膨胀后的运动边缘进行目标检测,具体包括以下子步骤:(2-1)用滑动方形窗口 Tu (u=0,1,2)扫描图像pCur,方形窗口 Tu的左上顶点在图像pCur中的坐标记为(i, j), pCur图像的左上角点为坐标原点,Tu大小为检测尺度,其尺度大小即为图像中目标的大小,i和j初始化为0,即对应图像的原点坐标;(2-2)判断pEro图像在坐标(i,j)处的像素是否为0,若为0,转向步骤(2_3),否贝U,计算图像pCur中方形窗口 Tu内的HOG特征,将HOG特征放到SVM分类器进行分类,并将方形窗口 Tu中分类分值最大的且被判为是人头的目标加入head_list队列,该队列中存放的目标称为检测目标,并转向步骤(2-3);(2-3)水平向右滑动方形窗口 Tu达3个像素,即设置i=i+3,并判断i+30是否大于图像pCur的图像宽度,若是则转向步骤(2-4);否则返回步骤(2-2);(2-4)判断j+30是否大于图像pCur的图像高度,若是则停止,转向步骤(3);否则设置j=j+3,i=0,然后返回步骤(2-2);(3)删除队列head_list中的虚假目标,具体包括以下子步骤:(3-1)根据队列head_list中的重叠目标选择最终目标,具体而言,选择人头中心位置最靠上的作为最终目标,并将与该人头重叠的其它人头删除;(3-2)在空间上对队列head_list中的最终目标进行二次验证;(4)将head_list中最终目标与之前所有帧中检测出来的最终目标(存放在统计队列people_list中),具体包括以下子步骤:(4-1)判断统计队列people_list是否为空,如果为空则将head_list里的目标全部压入到统计队列people_list,队列people_list中的每个目标的出现巾贞数初始化为O,并返回步骤(1-2),否则转向步骤(4-2);(4-2)对于统计队列people_list中的每个目标,首先判断队列head_list中是否有和该目标相近的检测目标,这里相近指得是二者中心点的欧氏距离的平方小于阈值1000,若有,在相近的检测目标中,找出与该目标之间的灰度互相关数值最小的一个,假定为U,并记下两者之间的灰度互相关数值的大小,及与之匹配的目标u的下标。以同样的方法,记录people_liSt中和队列head_list中每个目标相匹配的统计目标的下标。(5)对统计队列peoplejist中的目标进行跟踪;(6)对统计队列peoplejist中的目标位置进行更新,具体包括以下子步骤:(6-1)对于统计队列people_list中的每个目标,判断队列head_list中是否有和该目标相互匹配的检测目标,若有,则判断该检测目标与该目标之间的灰度互相关数值是否小于阈值90,若满足,则保存目标的中心位置到其运动轨迹数组,并用检测目标的位置对该目标的位置进行更新,目标出现帧数加1,转向步骤(6-3);否则转向(6-2);(6-2)判断该目标是否已经出现两帧或以上,且匹配的跟踪区域和原来的目标区 域之间的灰度互相关数值是否小于70,若是,则保存目标的中心位置到其运动轨迹数组,并 用该匹配的跟踪位置对此目标位置进行更新,否则此目标位置不更新,目标出现帧数加1, 并转向步骤(6-3);(6-3)对于队列head_list中的每个目标,如果统计队列people_list中没有目标 与其相匹配,则该目标被认为是新目标,加入到统计队列pe0ple_liSt中;(7)对统计队列people_list中的目标进行统计。步骤(5)是采用高斯加权的均值漂移方法对统计队列people_list中的目标进行 跟踪。步骤(7)具体为:对于统计队列peoplejist中的每个目标,对得到的该目标的运 动轨迹进行分析,判断该目标是从上向下走并跨线还是从下向上走并跨线,若是从上向下 走并跨线,则统计的向下走的人数Dw=Dw+l ;否则统计的向上走的人数Up=Up+l ,判断完毕, 返回步骤(1-3)。步骤(1-5)具体为:实现过程为:使用结构元素B (大小为7pixel*12pixel,中心 点在本文档来自技高网...

【技术保护点】
一种基于时空上下文约束的人流量统计方法,其特征在于,包括以下步骤:(1)提取灰度序列G膨胀后的运动边缘,具体包括以下子步骤:(1?1)初始化图像pCur、psPre、pPre、psCur、pDiff和pEro、以及统计队列people_list为空,初始化变量Up、Dw为0,其中Dw为统计的向下走的人数,Up为统计的向上走的人数;(1?2)获取视频序列F,并设置计数器k=1,读入视频序列F的第k帧图像Fk,首先将其转为灰度图像Gk,保存Gk到图像pCur,用sobel算子对Gk处理,处理后的结果保存到psCur;(1?3)初始化队列head_list为空,设置计数器k=k+1,读入第k帧图像Fk,将pCur复制到pPre,并将psCur复制到psPre,将Fk对应的灰度图像Gk保存到pCur,sobel算子对Gk处理后得到的图像保存到psCur;(1?4)将psCur图像和psPre图像对应像素点作差,并将差值保存在pDiff图像中,若此差值大于100,则将pDiff图像中相同位置处的像素点的像素值设置为255,否则将其像素值设置为0,由此得到二值图像pDiff,该二值图像中的白点可认为是运动目标的边缘;(1?5)对二值图像pDiff进行膨胀;(2)在膨胀后的运动边缘处进行目标检测,具体包括以下子步骤:(2?1)用滑动方形窗口Tu(u=0,1,2)扫描图像pCur,方形窗口Tu的左上顶点在图像pCur中的坐标记为(i,j),pCur图像的左上角点为坐标原点,Tu大小为检测尺度,其尺度大小即为图像中目标的大小,i和j初始化为0,即对应图像的原点坐标;(2?2)判断pEro图像在坐标(i,j)处的像素是否为0,若为0,转向步骤(2?3),否则,计算图像pCur中方形窗口Tu内的HOG特征,将HOG特征 放到SVM分类器进行分类,并将方形窗口Tu中分类分值最大的且被判为是人头的目标加入head_list队列,该队列中存放的目标称为检测目标,并转向步骤(2?3);(2?3)水平向右滑动方形窗口Tu达3个像素,即设置i=i+3,并判断i+30是否大于图像pCur的图像宽度,若是则转向步骤(2?4);否则返回步骤(2?2);(2?4)判断j+30是否大于图像pCur的图像高度,若是则停止,转向步骤(3)。否则设置j=j+3,i=0,然后返回步骤(2?2);(3)删除队列head_list中的虚假目标,具体包括以下子步骤:(3?1)根据队列head_list中的重叠目标选择最终目标,具体而言,选择人头中心位置最靠上的作为最终目标,并将与该人头重叠的其它人头删除;(3?2)在空间上对队列head_list中的最终目标进行二次验证;(4)将head_list中的目标与之前所有帧中检测出来的最终目标(存放在people_list队列中)进行关联匹配,具体包括以下子步骤:(4?1)判断统计队列people_list是否为空,如果为空则将head_list里的目标全部压入到统计队列people_list,队列people_list中的每个目标的出现帧数初始化为0,并返回步骤(1?2),否则转向步骤(4?2);(4?2)对于统计队列people_list中的每个目标,首先判断队列head_list中是否有和该目标相近的检测目标,这里相近指得是二者中心点的欧氏距离的平方小于阈值1000,若有,在相近的检测目标中,找出与该目标之间的灰度互相关数值最小的一个,假定为u,并记下两者之间的灰度互相关数值的大小,及与之匹配的目标u的下标。以同样的方法,记录people_list中和队列head_list中每个目标相匹配的统计目标的下标。(5)对统计队列people_list中的目标进行跟踪;(6)对统计队列people_list中的目标位置进行更新,具体包括以下 子步骤:(6?1)对于统计队列people_list中的每个目标,由步骤(4)的结果,判断队列head_list中是否有和该目标相互匹配的检测目标,若有,则判断该检测目标与目标之间的灰度互相关数值是否小于阈值90,若满足,则保存目标的中心位置到其运动轨迹数组,并用此检测目标的位置对该目标的位置进行更新,目标出现帧数加1,转向步骤(6?3);否则转向(6?2);(6?2)判断该目标是否已经出现两帧或以上,且与其匹配的跟踪区域和该目标区域之间的灰度互相关数值是否小于70,若两个条件均为是,则保存目标的中心位置到其运动轨迹数组,并用匹配的跟踪位置对此目标位置进行更新,目标出现帧数加1,否则此目标位置不更...

【技术特征摘要】
1.一种基于时空上下文约束的人流量统计方法,其特征在于,包括以下步骤: (1)提取灰度序列G膨胀后的运动边缘,具体包括以下子步骤:(1-1)初始化图像 pCur、psPre、pPre、psCur、pDiff 和 pEro、以及统计队列 people_list为空,初始化变量Up、Dw为O,其中Dw为统计的向下走的人数,Up为统计的向上走的人数;(1-2)获取视频序列F,并设置计数器k=l,读入视频序列F的第k帧图像Fk,首先将其转为灰度图像Gk,保存Gk到图像pCur,用sobel算子对Gk处理,处理后的结果保存到PsCur ; (1-3)初始化队列head_list为空,设置计数器k=k+l,读入第k帧图像Fk,将pCur复制到pPre,并将psCur复制到psPre,将Fk对应的灰度图像Gk保存到pCur, sobel算子对Gk处理后得到的图像保存到psCur ; (1-4)将psCur图像和psPre图像对应像素点作差,并将差值保存在pDiff图像中,若此差值大于100 JMfpDiff图像中相同位置处的像素点的像素值设置为255,否则将其像素值设置为0,由此得到二值图像pDiff,该二值图像中的白点可认为是运动目标的边缘;(1-5)对二值图像pDiff进行膨胀; (2)在膨胀后的运动边缘处进行目标检测,具体包括以下子步骤: (2-1)用滑动方形窗口 Tu (u=0,1,2)扫描图像pCur,方形窗口 Tu的左上顶点在图像pCur中的坐标记为(i, j),pCur图像的左上角点为坐标原点,Tu大小为检测尺度,其尺度大小即为图像中目标的大小,i和j初始化为0,即对应图像的原点坐标; (2-2)判断pEro图像在坐标(i,j)处的像素是否为0,若为0,转向步骤(2-3),否则,计算图像PCur中方形窗口 Tu内的HOG特征,将HOG特征放到SVM分类器进行分类,并将方形窗口 Tu中分类分值最大的且被判为是人头的目标加入head_list队列,该队列中存放的目标称为检测目标,并转向步骤(2-3); (2-3)水平向右滑动方形窗口 Tu达3个像素,即设置i=i+3,并判断i+30是否大于图像pCur的图像宽度,若是则转向步骤(2-4);否则返回步骤(2-2); (2-4)判断j+30是否大于图像pCur的图像高度,若是则停止,转向步骤(3)。否则设置j=j+3,i=0,然后返回步骤(2-2); (3)删除队列head_list中的虚假目标,具体包括以下子步骤: (3-1)根据队列head_list中的重叠目标选择最终目标,具体而言,选择人头中心位置最靠上的作为最终目标,并将与该人头重叠的其它人头删除; (3-2)在空间上对队列head_list中的最终目标进行二次验证; (4Mfhead_list中的目标与之前所有帧中检测出来的最终目标(存放在people_list队列中)进行关联匹配...

【专利技术属性】
技术研发人员:桑农沙芳华王岳环黄锐胡静高常鑫彭章祥陈张一
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1