高密度人群环境中的行人统计.doc_第1页
高密度人群环境中的行人统计.doc_第2页
高密度人群环境中的行人统计.doc_第3页
高密度人群环境中的行人统计.doc_第4页
高密度人群环境中的行人统计.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高密度人群环境中的行人统计梁华 中国西安卫星测控中心1 引言视频中的行人统计是指对通过某一观测区域行人的方向和数量进行统计,在安防、交通等领域有着广泛的应用。国内外有许多先进的行人统计系统,但都是针对行人稀少的情况,对于机场、车站这样人员密集区则无能为力。对高密度人群中的行人进行检测和跟踪是一个很难的问题。较常见的方法如通过背景模型检测运动区域并进行前景分割,如MoG,或通过人体模型、特征对人体进行检测,如HoG等,都不能解决高密度人群的行人检测问题,原因在于:在高密度人群视频中,观测区域的大部分或者全部处于运动的状态,行人间存在严重的遮挡。另外存在一类研究,避开了高密度人群中行人的分割检测的问题,而是通过一些全局统计特征对人群的密度进行估计,但这类研究并不能给出精确的行人流量和方向。在众多研究中,1是少有的直接针对高密度人群中的行人进行检测和跟踪的研究。该研究针对大流量高密度的街道场景,如右图所示,提出了一种结合头部检测和粒子滤波的方法对行人进行跟踪。但该方法无论在跟踪的准确性和实时性上都难以满足行人统计对于精度和时效性的要求。本文提出一种简洁实用的行人统计方法,该方法避开了容易产生大量错误的复杂场景中的多目标跟踪,且能够满足行人统计的精度和实时性要求。该方法的基本思想是:在一个近似行人头部大小的带状区域中进行头部检测(HaarLike Adaboost方法),利用聚类的思想对头部检测结果进行简单的跟踪,同时利用边缘图像的运动历史图分析的方法估计行人的运动方向,最后,在上述头部检测、跟踪和方向分析的基础上给出行人上行和下行的统计结果。2 头部检测统计,仍处在研究阶段。在计算机视觉的应用中,行人统计一直是一个热点研究问题。高密度环境下的行人检测和跟踪一直以来就是没有被很好解决的问题,如下图所示环境,存在的困难包括:检测方面:由于人群整体处于运动状态,占据了背景的60%以上的面积,导致许多目标检测的方法,如基于背景差的运动目标检测方法难以奏效。另外,由于人群存在大量遮挡,导致基于行人轮廓的检测方法,如HOG也难以奏效。跟踪方面:高密度环境中的多目标跟踪,由于存在大量的遮挡、合并、分离,要是跟踪达到较理想的效果且具有一定的实时性是一个富有挑战性的研究问题。该实验的下面分三个部分:头部检测、方向分析、跟踪统计,对算法进行描述。2 头部检测如图所示复杂环境下,能够较好的在高密度人群中区分行人的特征只有头部。当摄像机架设一定高度时,行人头部遮挡较少,对检测和跟踪较有利。头部检测优势在于:头部具有结构化的一些特征,相对于肤色、发色而言,受光线、噪声、阴影等影响较小。不足在于:头部的特征变化多样,不同的装束、肤色、方向都会有较大的差别。我们采用了较为成熟的基于HaarLike特征的Adaboost分类器算法,对头部进行检测。AdaBoost头部检测实验报告一文中对算法基本原理,分类器样本的选择、处理和分类器的训练、测试进行了详细的描述,在这里不再赘述。只对实验中分类器的具体应用方法进行描述:Step1: 载入分类器,实验中使用的分类器的尺寸为10*10。并将视频图像转换为灰度图。Step2:设置检测区域:在图像中设定一个带状检测区域,可以容纳一个头部宽度。若检测的头部尺寸范围为(10*10至25*25),那么将宽度设置为25,如下图所示:Step3:为了能够检测不同尺度的头部,将分类器以一定的比例(如1.1)逐级放大后遍历检测区域。例如要检测10*10至25*25尺寸范围内的头部,要将分类器(10*10)以1.1比例逐级放大11次,放大比例分别为:1.0 1.1 1.21 1.331 ,然后用放大后的分类器以步长2在检测区域图像中遍历检测。Step4: 头部检测的结果中会出现一个头部多个尺度检测结果重叠的情况,如下图所示。我们将重叠矩形少于1的检测结果滤除。因为一般正确的头部检测结果都会存在多个尺度检测结果重叠的情况。3 方向分析一种常用的方向分析方法是光流法,光流法计算相邻两帧图像中光流,用光流近似物体的运动。但是光流法对图像噪声敏感,如下图,为实验中视频的两种光流的计算结果。由于视频中环境复杂噪声大,且相邻两帧图像中目标的运动不规律,所以光流分析效果并不理想。实验中采用运动历史图分析的方法,运动历史图可以累积一段时间内(多帧)目标的运动,通过计算时间域梯度估计目标的运动方向。实验中算法如下:Step1:计算检测区域的Sobel边缘图,(Sobel算子简单,计算速度快)分别以如下两个核计算两个方向的梯度并叠加得到边缘图。结果如下图:将边缘图二值化,得到运动轮廓图像掩模silhouette(dst),二值化方式为:实验中threshold设置为50,maxvalue为255。二值化后结果如图所示:Step2:利用图像中目标的运动边缘silhouette更新运动历史图mhi。其中timestamp为时间戳,实验中为当前的帧编号,duration为mhi记录运动的时间跨度,实验中设置为30帧。Step3:计算运动历史图梯度利用Sobel算子(实验中为7*7)计算运动历史图某一点领域内的Dx,Dy,得到运动方向图orientation为:注:计算运动历史图方向图时设置了一定的有效运动时间范围,为delta1和delta2。设运动历史图mhi某一点(x,y)领域内的最大值和最小值分别M(x,y)和m(x,y),当下述条件成立时才计算运动方向:同时输出有效运动的掩模图像mask。即只有当运动的持续时间介于delta1和delta2之间时,才认为是有效的运动。这样可以滤除帧数过少的运动造成的噪声,也可以滤除mhi中长期运动积累的影响。在实验中delta1和delta2分别设置为4和30。Step4:计算头部区域的全局运动方向Step3中计算每个像素的运动方向,Step4中计算每个头部区域的运动方向。在计算区域设置时,将头部矩形区域rect向下延伸10个像素,将行人肩部区域包括进来。在实验中可以发现,行人肩部往往存在明显的边缘,且运动方向较稳定,有利于判断行人的运动方向。利用矩形区域rect和有效运动掩模图像mask的交集作为计算全局方向的掩模mask2。计算头部全局运动方向步骤如下(下述操作均在mask2范围内进行):1 计算方向图orientation的直方图。2 取直方图的最大值对应的坐标作为基准运动方向。3 计算区域内所有方向矢量的加权和作为偏移量(当前的运动权值大,历史的运动权值小)。4 将基准运动方向和偏移量的圆矢量和作为输出,即头部的全局运动方向(角度0-360)。4 跟踪与统计由于行人头部目标在检测区域中的运动持续时间较短,位移较小,且较少发生遮挡,所以设计了一种简化的聚类跟踪的逻辑,实验中效果较好。每个头部模型的特征描述为:x, y, dx, dy, width, height, score, frame,分别表示:中心x坐标,中心y坐标,x方向运动的累积量,y方向运动的累积量,矩形宽度,矩形高度,目标重复出现(匹配)的次数,目标上一次重复出现(匹配)的时刻(帧计数)。当每一帧的头部检测结束后,用头部检测结果与当前的目标模型进行匹配。匹配的定义:当头部检测结果rect的中心落在模型中心的跟踪门内时,认为目标重复出现或匹配成功。跟踪门根据检测区域、头部大小以及噪声情况进行设置,实验中设为10,即以模型中心为中心的20*20的一个矩形区域。Step1:目标模型初始化当前头部检测结果rect没有发现与之匹配的模型时,增加一个新的模型,x,y设置为当前rect中心,dx为cos(orient/180*PI),dy为sin(orient/180*PI),width, height与rect宽高相同,score为0,frame为当前帧编号F。其中orient为方向分析中头部的运动方向(0-360)。Step2:目标模型的更新当头部检测结果rect与已有模型匹配时,采用滑动平均的方法对目标模型的x,y,width,height以速率alpha进行更新。若当前检测rect的中心为rx,与之匹配的目标模型中心为x,则模型参数x更新为:x=x*(1-alpha)+rx*alpha其他参数的更新类似。学习速率alpha变化范围在为0.-1.0之间,值越大,模型参数更新越快,实验中设置为0.95。每当模型成功匹配一次,score=score+1,frame更新为当前帧编号F,dx=dx+cos(orient/180*PI), dy=dy+ sin(orient/180*PI)。Step3:行人的统计当每一帧检测的目标模型的匹配更新结束后,遍历所有目标模型,进行行人统计和上下行判决。基本思想:真实的目标模型一般会匹配次数较多。根据目标模型重复出现(匹配)的次数score判定是真实目标还是噪声,一般score较大的为真实目标,而噪声的score较小。当模型有较长时间没有被匹配时,我们认为该目标已离开检测区域。根据模型中的frame值和当前帧F的差值可以判决目标是否已经消失或离开检测区域。判决准则为:行人:F-frame BAD_FRAME且scoreGOOD_SCORE噪声(误检):F-frame BAD_FRAME且score0为下行, dy0为上行。5 实验利用VC+6.0和Intel OpenCV1.1编写实验程序,对视频文件acvis09-5950.AVI进行行人统计。检测区域设置为352*25的矩形区域。视频中上行和下行的通过检测区域的人数经过人工统计,分别为:上行23,下行39,总计62;通过实验算法统计为:上行24,下行36,总计60(BAD_FRAME和GOOD_SCORE均设置为10)。虽然从总的计数看,检测结果和真实情况很相近,但经过比对可以发现存在不少漏检和误检的情况(相互抵消造成总数相近),漏检主要发生在行人头部重合的情况,而误检主要发生在将行人头部以外的部分被检测为头部。通过调整BAD_FRAME和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论