本发明属于视频图像处理及识别技术领域,特别涉及一种基于环形模板和椭圆拟合的客流统计方法。
背景技术:
随着交通运输网络的迅猛发展,基于视频的智能监控系统在公共交通客流监控、道路交通监控等安全防控领域发挥着巨大的作用。公交车作为公共交通的重要组成部分,以其经济、快捷、舒适等特性成为公民出行的主要途径之一。随着人民生活水平的提高和生活节奏的加快,人们对交通工具的安全、智能条件的要求越来越高。
乘客人群的高密度、人群结构的复杂化等使得公交车运行时存在严重的安全隐患。这就一方面需要公交车管理者根据客流特点合理分配线路、安排运行;另一方面,也需要在公交车运行状态下,对车厢内部的客流情况进行实时监控,根据车厢内的情况实时进行识别与预警,并及时有效的处理突发事件。
目前,客流统计技术主要分为传统客流统计方法、压力检测技术、红外检测技术和图像智能分析技术。早期是以人工计数或人工电子设备触发计数为代表的传统客流统计方法。这些方法的效率低,计数精度差,不能满足信息化的需求。而随着智能监控、视频处理、模式识别等技术的发展,可视性的客流统计系统实现逐渐成为可能,在系统应用中需求越来越高。它不仅仅能够实现简单的数据记载,可同时完成视频监控的功能,使得客流统计系统更加直观清晰。
虽然现有技术中公开了利用人头分类器对运动行人区域进行检测的现有技术中,但是这种现有技术在获取人头区域时存在计算开销较大的缺陷,同时现有技术中对人头轮廓的进行跟踪并技术的现有技术也存在着从将候选人头区域中但是实际上不是人头的轮廓判定为人头,从而造成了统计误差。
有鉴于此,有必要对现有技术中公交车等公共区域的客流统计方法予以改进,以解决上述问题。
技术实现要素:
本发明的目的在于提供一种基于环形模板和椭圆拟合的客流统计方法,该客流统计方法可以有效地提高公共区域内的客流统计的效率与准确度,同时降低计算开销。
为实现上述目的,本发明提供了基于环形模板和椭圆拟合的客流统计方法,该客流统计方法包括以下步骤:
s1、获取监控区域的视频流图像作为输入图像;
s2、通过背景差分法对输入图像进行差分运算,得到运动目标区域;
s3、利用canny算子对运动目标区域进行边缘提取,获得运动目标边缘轮廓;
s4、通过环形模板扫描运动目标边缘轮廓,得到人头候选区域,所述环形模板具有环形扫描区域;
s5、对人头候选区域以椭圆拟合方式提取人头目标;
s6、结合camshift算法与kalman滤波对人头目标进行跟踪和计数。
作为本发明的进一步改进,所述步骤s1具体为:通过摄像机获取监控区域的视频流作为输入图像,所述监控区域位于摄像机的下方。
作为本发明的进一步改进,所述步骤s2具体为:
s21、根据步骤s1获取的输入图形,提取出第一帧无运动物体的图像作为背景图像fb;
s22、利用当前帧图像fk与背景图像fb作背景差分运算,并与分割阈值td进行对比,得出偏离背景模型值较大的像素,以得到差分图像dk;
s23、通过数学形态处理得到前景运动目标图像ok;其中,
所述差分图像dk的计算公式为:
dk(x,y)=|fk(x,y)-fb(x,y)|;
所述前景运动目标图像ok的计算公式为:
其中,所述分割阈值td=50。
作为本发明的进一步改进,所述数学形态处理包括二值化处理和/或形态学滤波处理。
作为本发明的进一步改进,所述步骤s2还包括对背景图像fb执行背景模型更新的步骤。
作为本发明的进一步改进,所述步骤s3具体为:
s31、利用最大类间方差法动态地获得参数k,并根据参数k确定canny算子的高阈值th与低阈值tl;
s32、利用canny算子提取运动目标区域中的有效轮廓点,以获得运动目标边缘轮廓;
其中,所述高阈值th的计算公式为:th=1.5*k,所述低阈值tl的计算公式为:tl=0.5*k;
所述有效轮廓点的像素值设为255。
作为本发明的进一步改进,所述步骤s4具体为:
s41、根据预先设置的待检测人头的最大半径rmax与最小半径rmin设定出所述环形模板,并将该环形模板分割为若干个面积相等的子区域;
s42、使用环形模板顺序扫描步骤s3获得的运动目标边缘轮廓,以统计每个子区域中所包含的有效轮廓点的个数;若每个子区域中的有效轮廓点的个数均大于阈值tn,则认定运动目标边缘轮廓为人头候选区域;
阈值tn=2πrmin/n,10≤rmax-rmin≤30;
其中,n为环形模板分割出的面积相等的子区域的数量;有效轮廓点的像素值为255。
作为本发明的进一步改进,所述步骤s41中环形模板中的面积相等的子区域的数量为四个;
所述步骤s42中获取人头候选区域的计算公式为:
作为本发明的进一步改进,所述步骤s42还包括移动环形模板以扫描运动目标边缘轮廓的步骤,所述环形模板每次移动的距离d=rmax-rmin。
作为本发明的进一步改进,所述步骤s5具体为:将环形区域中所有的有效轮廓点拟合成椭圆方程,以提取人头目标;然后判定该人头候选区域是否为人头目标,并提取人头目标;
所述椭圆方程的代数形式为:
ax2+bxy+cy2+dx+ey+f=0;
所述椭圆方程的几何形式公式为:
其中,(x0,y0)为中心坐标,a为长轴半径,b为短轴半径,θ为长轴与x轴夹角;所述判定人头目标的计算公式为:
与现有技术相比,本发明的有益效果是:通过具有一定宽度的环形模板对运动目标边缘轮廓进行扫描以提取出人头候选区域,并通过椭圆拟合方式提取出人头目标,克服了公交车、商场等存在干扰情况下的客流统计的准确性与效率。
附图说明
图1为本发明基于环形模板和椭圆拟合的客流统计方法的流程示意图;
图2为实现步骤s1的工作原理示意图;
图3为用于对运动目标边缘轮廓进行扫描的环形模板的示意图;
图4为待扫描的运动目标边缘轮廓的示意图;
图5为本发明基于环形模板和椭圆拟合的客流统计方法在公交车的应用场景下对客流进行跟踪与统计的示意图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
参图1所示出的本发明一种基于环形模板和椭圆拟合的客流统计方法的流程示意图。在本实施方式中,该基于环形模板和椭圆拟合的客流统计方法主要包括以下步骤:
首先,执行步骤s1、获取监控区域的视频流图像作为输入图像。
参图2所示,该步骤s1具体为:通过摄像机10获取监控区域30的视频流图像作为输入图像,所述监控区域30位于摄像机10的正下方。
具体的,摄像机10设置在出入口20的正上方,行人可沿着箭头201的方向上在出入口20中来回走动。摄像机10所获取的监控区域30可完全覆盖出入口20的全部区域。该出入口20可设置在需要对行人人数进行统计的商场、车库、银行等需要重点监控场所的大门口或者走廊中。
需要说明的是,本发明在摄像机10垂直地正对着监控区域30时的效果最佳,当然可也将摄像机10倾斜地对着需要进行行人人数计数统计的区域,以通过摄像机10覆盖整个监控区域30。
在本实施方式中,该监控区域30为矩形;当然也可以为正方形或圆形或者其他形状。摄像机10位于监控区域30的中心点301的正上方,此时该监控区域30位于摄像机10的正下方。
具体的,监控区域30可被运用于公交车车门的踏板处,以实现对上下公交车的乘客进行客流统计,监控区域30也可被运用于火车站或者地铁站等的出入口等需要对客流进行实时统计的场所。
在本实施方式中,监控区域30为矩形,当然也可以为正方形或圆形或者其他形状。摄像机10位于监控区域30的中心点301的正上方,此时该监控区域30位于摄像机10的正下方。摄相机10的镜头焦距是12mm,在摄相机垂直高度为2米的情况下,可以确保摄像机的覆盖宽度为2至3米。如此,可以保证从监控区域30中所获取的包含人头的输入图像的大于60×60像素的规格。
然后,执行步骤s2、通过背景差分法对输入图像进行差分运算,得到运动目标区域。
背景差分法是视频图像运动目标检测中常用方法之一,其基本原理就是将当前帧图像与设定好的背景图像进行比较,通过差分图像中灰度特征变化等信息来对运动目标进行检测。其中,背景图像可是在监控区域30中所获取到的第一帧无运动物体的图像。
在本实施方式中,该运动目标区域的获取过程具体包括以下子步骤:
子步骤s21、根据步骤s1获取的输入图形,提取出第一帧无运动物体的图像作为背景图像fb;
子步骤s22、利用当前帧图像fk与背景图像fb作背景差分运算,并与分割阈值td进行对比,得出偏离背景模型值较大的像素,以得到差分图像dk;
子步骤s23、通过数学形态处理得到前景运动目标图像ok;其中,
所述差分图像dk的计算公式为:
dk(x,y)=|fk(x,y)-fb(x,y)|;
所述前景运动目标图像ok的计算公式为:
其中,所述分割阈值td=50。
因此,当ok(x,y)=255时,(x,y)处为当前帧图像,当ok(x,y)0=时,(x,y)处为背景图像。
优选的,数学形态处理包括二值化处理或者形态学滤波处理或者腐蚀操作或者平滑操作或者上述任意一种或者多种数学形态操作的综合。
优选的,在本实施方式中,还可对背景图像fb执行定期更新的操作。例如,公交车每次到站点打开车门时,及时进行背景图像fb的更新,可以有效降低周围环境变化产生对获取运动目标区域所造成的不良影响。
然后,执行步骤s3、利用canny算子对运动目标区域进行边缘提取,获得运动目标的边缘轮廓。
为得到更为准确的目标检测和分割效果,可通过对阈值进行优化来实现。最大类间方差法(otsu)是通过计算类间方差对前景目标和背景目标进行划分,进而对运动目标区域进行分割处理。
举例而言,如果当前帧图像fk被误判断为背景图像fb或者背景图像fb误记为当前帧图像fb时,类间方差会变小。若方差越大,则说明监控区域30中的当前帧图像fk和背景图像fb之间所具有的灰度值差别越大,同时也意味着用最大类间方差作为阈值进行当前帧图像fk的分割,能够得到更为准确的效果。
在本实施方式中,该步骤s3具体包括以下子步骤:
子步骤s31、利用最大类间方差法动态地获得参数k,并根据参数k确定canny算子的高阈值th与低阈值tl;
子步骤s32、利用canny算子提取运动目标区域中的有效轮廓点,以获得运动目标边缘轮廓;
其中,所述高阈值th的计算公式为:th=1.5*k,所述低阈值tl的计算公式为:tl=0.5*k;
所述有效轮廓点的像素值设为255。利用canny算子对运动目标区域进行运动目标边缘轮廓的提取操作,将运动目标边缘轮廓中有效轮廓点的像素值设为255,而那些不是人头所形成边缘轮廓中所包含的像素点则是无效轮廓点,且这些无效轮廓点的像素值设为0。
然后,执行步骤s4、通过环形模板扫描运动目标边缘轮廓,得到人头候选区域,所述环形模板具有环形扫描区域。
参图3所示,在本实施方案中,人头目标定位的过程具体为:首先,根据预先设置的待检测人头的最大半径rmax与最小半径rmin,并由此设定一个环形模板,并将该环形模板分割为若干个面积相等的子区域。优选的,为了综合考虑并平衡计算开销与检测效率,在本实施方式中,环形模板被分割为四个子区域(如图3所示)。然后,利用该环形模板按照从上到下、从左到右的顺序移动环形模板扫描步骤s3获得的运动目标边缘轮廓(参图4所示)。
接下来,执行步骤s5、对人头候选区域以椭圆拟合方式提取人头目标。如果该环形模板中四个子区域的有效轮廓点数分布比较均匀。即将环形区域等分成左上、右上、左下、右下四个子区域,即子区域numtl、子区域numtr、子区域numbl及子区域numbr,统计每个子区域中包含的有效轮廓点的个数。如果每个子区域中有效轮廓点的个数都大于一定阈值tn,则认定运动目标边缘轮廓为人头候选区域,并进入后续处理过程;否则,继续移动环形模板,直到检测到人头候选区域。
具体的,在本实施方式中,阈值tn=2πrmin/n,10≤rmax-rmin≤30。其中,n为环形模板中被分割所形成的面积相等的子区域的个数。
在本实施方式中,该人头候选区域的计算公式为:
其中,(x,y)是利用环形模板扫描图像时,环形模板的中心点所在像素点的坐标。当candidate(x,y)=1时,表示人头候选区域中,以该(x,y)为中心的环形模板所覆盖的区域很可能是人头边缘轮廓所在区域(即该区域中很有可能存在人头目标,参图4所示)。反之,在人头候选区域中,以该(x,y)为中心的环形模板所覆盖的人头候选区域中扫描出没有人头目标,需要继续移动环形模板,直到检测出人头目标为止。优选的,在本实施方式中,该处可以引入一个优化策略,比如当numtl=0或numrl=0时,可以将图3所示出的环形模板向左、向右、向上或者向下移动一定距离d。具体的,该环形模板每次移动的距离d=rmax-rmin。这样既可以防止对人头边缘轮廓的漏检,又能节约计算开销。
如果是一个正常的人头,其形成的运动目标边缘轮廓在四个子区域中所形成的有效轮廓点的个数大致是相等或者相似的。因此,通过统计有效轮廓像素点的方式在保证检测效率的同时,又降低了系统的计算开销。
在现实生活中,大量物体的透视投影均为椭圆,椭圆拟合是后续物体辨别与测量的先决条件,椭圆在图像识别和计算机视觉中具有较强的鲁棒性,能够较准确的提取目标。对于给定平面上的一组样本点,通过椭圆拟合寻找一个椭圆,使其尽可能靠近这些样本点。然后,对人头候选区域进一步标准化得到近似椭圆的头部轮廓特征。也就是将环形区域中的所有轮廓数据点拟合成椭圆方程,求出最佳的椭圆方程的各参数,使样本数据尽可能满足椭圆方程。
所述椭圆的代数形式和几何形式公式为:
ax2+bxy+cy2+dx+ey+f=0
整理后,可求得
a=b2cos2θ+a2sin2θ
b=(b2-a2)sin2θ
c=b2sin2θ+a2cos2θ
d=2x0(b2cos2θ+a2sin2θ)+y0(b2-a2)sin2θ
e=2y0(b2sin2θ+a2cos2θ)+x0(b2-a2)sin2θ
f=b2(y0cosθ-x0sinθ)2+b2(x0cosθ+y0sinθ)2-b2a2
其中,(x0,y0)为中心坐标,a为长轴半径,b为短轴半径,θ为长轴与x轴夹角。
最小二乘法椭圆拟合就是通过随机误差正态分布,由最大似然法得到最优估计量,找到最优参数集合,使得数据点与椭圆之间的距离量度最小。设轮廓测量点满足p(xi,yj)(i=1,2,…,n)且n≥5,根据最小二乘法原理,所述距离目标函数的计算公式为:
要得到距离目标函数f(a,b,c,d,e,f)的最小值,则可得到方程组:
求解方程组即可得到人头目标拟合后的椭圆几何表达,并进一步判定该区域是否确实是人头目标。所述人头目标拟合后的椭圆参数为:
所述判断人头目标的计算公式为:
最后,执行步骤s6、利用camshift与kalman滤波结合的方法进行人头目标的跟踪和计数。
camshift算法基于颜色特征对运动目标进行跟踪,能够达到较好的跟踪效果,且短暂遮挡后也能恢复跟踪。但对于运动过快的目标,其跟踪效果不理想,造成跟踪失败。而kalman滤波器能够根据目标运动状态对下一帧的目标位置进行预测。仅以camshift算法或kalman滤波其中一种方法难以满足工程实践中运动目标准确跟踪,本发明利用kalman滤波器预测出目标运动范围,并对预测区域进行camshift处理,得到最终的目标跟踪结果。
在本实施方案中,人头目标的跟踪过程具体为:首先,初始化kalman滤波器;其次,根据当前帧图像运动目标信息,利用kalman滤波预测出下一帧图像中运动目标位置,在预测值的领域内利用camshift算法搜索目标实际位置进行匹配;最后,将匹配得到的目标位置作为kalman滤波的观测值对kalman滤波进行更新,进而对后续的目标估计提供准确的预测值。
参图5所示,在本实施方案中,人头目标的计数过程具体为:其中,矩形框为步骤s1中的监控区域30,30a、30b两条线分别为进计数线和出计数线。进计数线30a和出计数线30b的中间部分30c为跟踪区域。在监控区域30的边缘区域增设释放区r1、r2。
当公交车到站点开车门后,当摄像机10检测到公交车车门的踏板上的出现目标(即行人)时,利用上述跟踪算法对检测到的行人目标进行跟踪。当跟踪到目标最终位置后,可根据上述人头目标的跟踪和计数对行人目标进出公交车车门的踏板(即监控区域30)的状态进行判断并统计客流。
当行人目标沿行进方向201顺次穿过a、b、c区时,则判定该行人正在执行上车状态,上车人数nin加1;当行人目标顺次穿过c、b、a区时,则判定该行人正在执行下车状态,下车人数nout加1。车载总人数n通过上下车人数累加获得。当行人目标进入释放区r1、释放区r2后,将存储空间中关于该行人目标信息进行释放,结束对该行人目标跟踪,这样也大大降低了存储空间占用率,提高了跟踪效率。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。