一种基于图像信息的客流量识别统计方法转让专利

申请号 : CN201510063946.7

文献号 : CN104637058B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 方康玲何鹏付晓薇

申请人 : 武汉科技大学

摘要 :

本发明涉及一种基于图像信息的客流量识别统计方法,该方法利用一种改进的自适应运动目标检测方法,在目标识别区域检测出有运动目标存在后,再对存在运动目标的图像序列按如下步骤处理:首先,基于Kalman滤波预测目标图像的搜索区域;然后,根据改进的代价函数对目标进行匹配,并建立目标链,确定目标图像间的对应关系;最后,根据每帧图像之间目标的关联匹配关系,确定目标是进入还是离开识别区域,或者静止、在目标识别区域内外连续运动,以此达到客流量识别统计的目的。本发明具有实时性强、识别率高、统计数据全面、硬件要求低等特点。

权利要求 :

1.一种基于图像信息的客流量识别统计方法,其特征在于,包括以下步骤:

1)确定目标检测区域;设置目标图像检测区域ROI的四个参数:ROI.X代表检测区域ROI左上角点的x轴坐标,ROI.Y代表检测区域ROI左上角点的y轴坐标,ROI.Width代表检测区域ROI的宽度,ROI.Height代表检测区域ROI的高度;

2)确定目标检测区域没有待检测目标存在时的背景图像;

3)对采集的视频图像的每帧图像进行处理,将存在运动目标的图像帧按顺序存入数组中;

4)判断数组中的图像帧是否连续,根据判断结果对数组中的图像帧进行分块;

所述步骤4)中判断数组中的图像帧是否连续采用以下方法:

4.1)从数组中依次取帧图像,对当前帧目标图像进行基于差分法的自适应背景分割,将获得的运动区域图像进行二值化,用2×2结构算子对目标图像的二值图像进行形态学腐蚀,以去除伪目标,再通过形态学膨胀还原实际目标的大小,获得只含有运动目标连通域的二值图像;

4.2)遍历只含有运动目标连通域的二值图像,获取各个目标连通域Area[n][i]的特征值,存入相应的链表中;其中,特征值包括以下参数:图像索引Num,目标索引Index,目标质心的横坐标X和纵坐标Y,对应原图像目标区域的灰度平均值Gray,目标区域矩形包围窗口的长度Length和宽度Width,目标区域的面积大小Space;

4.3)根据获得的目标连通域Area[n][i]的特征值,用Kalman滤波来预测下一帧图像中目标连通域Area[n+1][i]的质心运动位置p(xi,yi)的搜索区域;

4.4)计算下一帧图像的目标连通域Area[n+1][i]的特征值;

4.5)在当前帧图像的Kalman预测搜素区域匹配下一帧图像各目标连通域,计算当前帧目标连通域Area[n][i]与下一帧图像对应搜索区域内所有目标连通域的代价函数值,并找出其中最小值;

4.6)计算目标连通域Area[n][i]和下一帧图像对应搜索区域任一目标连通域Area[n+

1][j]的质心距离d,并与质心距离限定值d0作比较:

若d≤d0,则目标连通域Area[n+1][j]为目标连通域Area[n][i]的后续,用目标连通域Area[n+1][j]的特征值替代目标连通域Area[n][i]的特征值,并对目标连通域Area[n+1][j]做标记,建立目标链;

若d>d0,则目标连通域Area[n][i]在下一帧中没有后续;

4.7)根据判断结果对数组中的图像帧进行分块;

5)对分块后的图像帧进行统计计数,确定进出的客流量。

2.根据权利要求1所述的客流量识别统计方法,其特征在于,所述步骤2)中确定背景图像的方法为:采用多幅图像平均法,对多帧原始图像叠加求取平均值,获取目标不存在时视频图像的背景图像。

3.根据权利要求1所述的客流量识别统计方法,其特征在于,所述步骤3)中对采集的视频图像的每帧图像进行处理为增强图像处理,具体为:对帧图像进行二值化和距离变换后,再通过均值滤波或亚取样,得到当前帧图像的增强图像。

4.根据权利要求3所述的客流量识别统计方法,其特征在于,所述步骤3)中采集的视频图像的每帧图像是否存在运动目标的判定方法如下:

3.1)将采集到的视频图像的帧图像进行分块处理,将第i帧图像记为当前帧图像,然后选定目标图像检测区域ROI;

3.2)将第i帧图像与处理过的第i-1帧图像进行差分,将选定的目标图像检测区域ROI的差值记为NZ;

3.3)将运动检测差值NZ与设定的运动检测报警最小元素数量限定值N0作比较:若NZ<N0,则没有运动存在;若NZ≥N0,则有运动存在,保留当前帧图像;

3.4)对当前帧图像和背景图像进行差分,将选定的目标图像检测区域ROI的差值记为NB;将背景图像记为I0;

3.5)将目标检测差值NB与设定的目标检测报警最小元素数量限定值N0’作比较:若NB<N0’,则没有待检测目标存在;若NB≥N0’,则报警存在运动的目标,然后将存在运动目标的当前帧图像存入数组MovingImages[i][j]中;

3.6)遍历所有帧图像,按顺序保存所有有运动目标存在的帧图像,存入数组MovingImages[i][j]中。

5.根据权利要求1所述的客流量识别统计方法,其特征在于,所述步骤5)中,对分块后的图像帧进行统计计数,具体方法如下:

5.1)将目标图像检测区域ROI的横坐标的最小值和最大值分别保存到对应的变量xin和xout中,然后读取数组MovingImages[i][j]中的第一帧原始图像序列,记为多目标跟踪统计计数的当前帧目标图像;

5.2)定义计数变量进计数器PersonIn和出计数器PersonOut,分别记录进入和离开的目标数量,初始化设置为0,并规定沿X轴正方向为进,逆X轴正方向为出;

5.3)对目标连通域Area[n][i]的质心横坐标X的位置:

当X≤xin时,如果目标连通域Area[n][i]的运动轨迹的第一个质心横坐标X1≤xin,则说明该目标连通域Area[n][i]一直在预留区内徘徊,任何计数器不动作;如果X1>xin,则说明该目标连通域Area[n][i]离开跟踪窗口,方向为出,出计数器PersonOut加1,并清除目标连通域Area[n][i]的目标链;所述第一个质心横坐标为目标最开始进入跟踪窗口的质心横坐标,即在跟踪窗口捕捉到的该目标第一个质心横坐标;

当X>xout时,如果目标连通域Area[n][i]的运动轨迹第一个质心坐标横坐标X1≥xout,则说明该目标连通域Area[n][i]一直在预留区内徘徊,任何计数器不动作;如果X1

当xin

5.4)跟踪窗口中的所有目标连通域进行匹配后,验证当前帧中所有目标是否被跟踪;

若存在未被跟踪的目标,则判断其质心横坐标是否满足X≤xin和X>xout中的任意一个,满足则表示有新目标出现,为其建立新的目标链,获取并记录特征值,转入步骤4.3);不满足则判断为干扰,丢弃;

5.5)当前帧图像中所有目标识别计数结束后,计算当前进计数器PersonIn和出计数器PersonOut的差值,记为当前客流量CustomCounting,当前帧图像的目标识别计数结束;

5.6)依次对图像数组MovingImages[i][j]中每帧图像的目标连通域进行识别和自动计数,直到图像数组MovingImages[i][j]中的图像序列全部处理完毕,则整个目标识别计数结束。

6.根据权利要求1所述的客流量识别统计方法,其特征在于,所述步骤4.5)中采用改进的目标链代价函数对多目标进行跟踪匹配,步骤是:

4.5.1)获取第k帧图像中多个目标的三个特征值:目标质心坐标、平均灰度和目标区域的面积,其中目标i的特征值分别记为:目标质心坐标Point[k][i]、平均灰度Gray[k][i]和目标区域的面积Space[k][i];

4.5.2)利用Kalman滤波预测第k帧图像中目标i在第k+1帧图像中的搜索区域,遍历目标i在第k+1帧图像中的搜索区域,发现n个目标对象,获取他们的特征值,其中目标j的特征值分别记为:Point[k+1][j]、Gray[k+1][j]和Space[k+1][j];

4.5.3)分别求取第k+1帧图像目标i的搜索区域中n个目标对象与第k帧图像中目标i的

3个特征值的变化程度,求取最大值分别记为:质心坐标的最大值MaxPoint、平均灰度的最大值MaxGray和目标区域面积变化的最大值MaxSpace,具体计算公式如下:MaxPoint[i]=Max(sqrt((Point[k][i].x-Point[k+1][m].x)*(Point[k][i].x-Point[k+1][m].x)+(Point[k][i].y-Point[k+1][m].y)*(Point[k][i].y-Point[k+1][m].y)))

MaxGray[i]=Max(sqrt((Gray[k][i]-Gray[k+1][m])*(Gray[k][i]-Gray[k+1][m])))MaxSpace[i]=Max(sqrt((Space[k][i]-Space[k+1][m])*(Space[k][i]-Space[k+1][m])))其中,1≤m≤n,表示目标i的搜索区域中n个目标中任意一个;其中sqrt为开平方根运算;

4.5.4)求取第k帧图像中目标i和第k+1帧图像中目标j的质心距离大小D[i][j]、灰度变化程度H[i][j]和面积变化程度S[i][j],相应的计算公式如下:D[i][j]=sqrt((Point[k][i].x-Point[k+1][j].x)*(Point[k][i].x-Point[k+1][j].x)+(Point[k][i].y-Point[k+1][j].y)*(Point[k][i].y-Point[k+1][j].y))/MaxPoint[i];

H[i][j]=sqrt((Gray[k][i]-Gray[k+1][j])*(Gray[k][i]-Gray[k+1][j]))/MaxGray[i];

S[i][j]=sqrt((Space[k][i]-Space[k+1][j])*(Space[k][i]-Space[k+1][j]))/MaxSpace[i];

4.5.5)代价函数V[i][j]可由步骤4.5.4)所求三个特征值变化量求得:V[i][j]=αD[i][j]+βH[i][j]+γS[i][j];

其中α、β、γ三个参数系数表示三个特征值的影响因子,按照实际情况调整。

7.根据权利要求1所述的客流量识别统计方法,其特征在于,所述步骤4.3)采用Kalman滤波预测搜索区域的具体步骤是:

4.3.1)假设图像中各目标质心的运动为匀速运动,包围窗口面积不变,初始化目标在x方向的运动速度Vx,在y方向上的运动速度Vy,包围窗口长宽的变化速度Vt,图像采样步长T;

4.3.2)基于第k-1帧图像中的目标i,获取第k帧图像中对应目标i的特征值的最优估算结果:质心位置X坐标Point[k][i].x和Y坐标Point[k][i].y、包围窗口的长度Win[k][i].length和宽度Win[k][i].width、质心位置坐标和包围窗口的长度宽度两特征量的偏差估计;P[k][i]质心位置坐标Point[k][i]即为质心运动位置坐标p(xi,yi);

4.3.3)基于第4.3.2)步获得的结果,计算第k+1帧图像中目标i的特征值预测值和偏差估计,具体的计算公式如下:Point[k+1][i].x=Point[k][i].x+Vx*T;

Point[k+1][i].y=Point[k][i].y+Vy*T;

Win[k+1][i].length=Win[k][i].length+Vt*T;

Win[k+1][i].width=Win[k][i].width+Vt*T;

P[k+1][i]=P[k][i]+Q;

4.3.4)根据第k+1帧图像中目标i的特征值预测值和偏差估计,计算对应的Kalman增益:Kg[k+1][i]=P[k][i]/(P[k][i]+R)

计算第k+1帧图像中目标i的各个特征值和偏差估计的最优估计值,并更新他们的预测值:Point[k+1][i].x=Point[k+1][i].x+Kg[k+1][i]*(Z[k+1][i].x-Point[k+1][i].x);

Point[k+1][i].y=Point[k+1][i].y+Kg[k+1][i]*(Z[k+1][i].y-Point[k+1][i].y);

Win[k+1][i].length=Win[k+1][i].length+Kg[k+1][i]*(Z[k+1][i].length-Win[k+1][i].length);

Win[k+1][i].width=Win[k+1][i].width+Kg[k+1][i]*(Z[k+1][i].width-Win[k+1][i].width);

P[k+1][i]=(1-Kg[K+1][i])*P[k][i];

4.3.5)由此可得第k帧图像中目标i在第k+1帧中的预测搜索区域(X,Y)为:Point[k+1][i].x-1.5*Win[k+1][i].length/2≤X≤Point[k+1][i].x+1.5*Win[k+1][i].length/2;

Point[k+1][i].y-1.5*Win[k+1][i].width/2≤Y≤Point[k+1][i].y+1.5*Win[k+1][i].width/2。

8.根据权利要求1所述的客流量识别统计方法,其特征在于,所述步骤4.5)中目标的关联匹配和数据关联的算法的实现步骤是:在目标的关联匹配中,若出现第k帧图像中目标i与第k+1帧图像中目标i的预测搜索区域中第j个目标和第m个目标的代价函数值相等,且同时为最小,则此时目标的跟踪匹配会发生冲突,则采用以下改进算法,完成目标的正确跟踪匹配;

计算第k帧图像中目标i和第k+1帧图像中目标j和m的代价函数,若代价函数值相等且为最小,则将上述3个目标的灰度特征值分别记为Gray[k][i]、Gray[k+1][j]、Gray[k+1][m];

分别求取第k帧图像中目标i和第k+1帧图像中目标j、m的平均灰度变化大小,计算公式为:Value1=sqrt((Gray[k][i]-Gray[k+1][j])*(Gray[k][i]-Gray[k+1][j]));

Value2=sqrt((Gray[k][i]-Gray[k+1][m])*(Gray[k][i]-Gray[k+1][m]));

若Value1

与第k帧图像中的目标i没有匹配成功的与第k帧图像中的其他目标匹配,或者保留等待下一帧中找到匹配目标。

说明书 :

一种基于图像信息的客流量识别统计方法

技术领域

[0001] 本发明涉及图像识别技术领域,尤其涉及一种基于图像信息的客流量识别统计方法。

背景技术

[0002] 客流量一直都是商场、机场、公交车站、地铁站等公共场所进行管理和决策不可或缺的重要数据,随着我国经济与科技的发展,许多行业对客流量统计的需求也日益见长。传统的人工统计方法费时费力,且时效性不强,后续数据处理繁琐,不能提供实时的统计数据,因此开发出一种实时的客流量智能统计系统具有十分重要的意义。
[0003] 传统的红外光电检测客流量统计系统原理简单,应用比较广泛,但有明显的缺陷:主动式受温度、光照等自然条件影响较大,可靠性较差;被动式可靠性较强,但价格昂贵,且受场地限制。基于图像信息的客流量识别统计具有成本低、安装维护简单等优点,还能与原有的监控系统相连接,不需另购设备。
[0004] 该系统设计主要解决动态图像中多目标的识别与跟踪计数问题,目前已提出多种基于动态图像的客流量统计计数方法,具有代表性的主要有以下三种方法:
[0005] (1)建立行人真实轨迹的数学统计模型。如结合利用背景建模方法和先验假设算法得到前景模块,再对轨迹模型滤波以排除非行人轨迹。该算法比直接检测行人节省了时间,但对轨迹数学模型要求较高,且依赖于前景块识别的准确度。
[0006] (2)基于遗传算法。如“基于遗传算法的客流量分析系统研究”通过将遗传算法引入到了客流量的统计系统中提高了客流量的准确性,但是由于是通过人体识别,当客流量较大时遮挡面积的增多导致识别难度增大。
[0007] (3)数学形态学算法。如“基于改进特征跟踪的客流量统计”提出了一种基于数学形态学的客流量统计方法,首先对进行数学形态学处理后的目标连通域进行分析,采用向前搜索原则确定目标的新位置,通过划定计数线进行计数。该方法实现简单,但是容易与其它非人运动目标混淆,影响统计的准确性。

发明内容

[0008] 本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于图像信息的客流量识别统计方法。
[0009] 本发明解决其技术问题所采用的技术方案是:一种基于图像信息的客流量识别统计方法,包括以下步骤:
[0010] 1)确定目标检测区域;设置目标图像检测区域ROI的四个参数:ROI.X代表检测区域ROI左上角点的x轴坐标,ROI.Y代表检测区域ROI左上角点的y轴坐标,ROI.Width代表检测区域ROI的宽度,ROI.Height代表检测区域ROI的高度;
[0011] 2)确定目标检测区域没有待检测目标存在时的背景图像;采用多幅图像平均法,对10~20帧原始图像叠加求取平均值,获取目标不存在时视频图像的背景图像,记为I0;
[0012] 3)对采集的视频图像的每帧图像进行处理,将存在运动目标图像帧按顺序存入数组中;
[0013] 将采集到的视频图像的第i帧图像进行分块处理,记为当前帧图像,然后选定目标图像检测区域ROI;
[0014] 对当前帧图像进行二值化后、距离变换后,再通过均值滤波或亚取样,得到当前帧图像的增强图像;然后与经过1)~3)步处理过的第i-1帧图像进行差分,将选定的目标图像检测区域ROI的差值记为NZ;
[0015] 将运动检测差值NZ与设定的报警最小元素数量限定值N0作比较:若NZ<N0,则没有运动存在,自动采集第i+1帧原始图像,返回第3)步;若NZ≥N0,则保存当前帧图像,记为I1;
[0016] 对当前帧图像和背景图像I0进行差分,将选定的目标图像检测区域ROI的差值记为NB;
[0017] 将目标检测差值NB与设定的报警最小元素数量限定值N0’作比较:若NB<N0’,则没有待检测目标存在;若NB≥N0’,则报警存在运动的目标,然后将存在运动目标的当前帧图像存入数组MovingImages[i][j]中;
[0018] 4)根据图像帧是否连续,对数组中的图像帧进行分块;
[0019] (1)将目标图像检测区域ROI的横坐标的最小值和最大值分别保存到对应的变量xin和xout中,然后读取数组MovingImages[i][j]中的第一帧原始图像序列,记为多目标跟踪统计计数的当前帧目标图像;
[0020] (2)定义计数变量PersonIn和PersonOut,分别记录进入和离开的目标数量,初始化设置为0,并规定沿X方向为进,逆X方向为出;
[0021] (3)对当前帧目标图像进行基于差分法的自适应背景分割,将获得的运动区域图像进行二值化,用(与头部大小相称的)2×2结构算子对目标图像的二值图像进行形态学腐蚀,以去除伪目标(即非头部图像),再通过形态学膨胀还原实际目标的大小,获得只含有运动目标连通域的二值图像;
[0022] (4)遍历只含有运动目标连通域的二值图像,获取各个目标连通域Area[n][i]的特征值,存入相应的链表中,其参数包括:图像索引Num,目标索引Index,目标质心的横坐标X和纵坐标Y,对应原图像目标区域的灰度平均值Gray,目标区域矩形包围窗口的长度Length和宽度Width,目标区域的面积大小Space;
[0023] (5)根据获得的目标连通域Area[n][i]的特征值,用Kalman滤波来预测下一帧图像中目标连通域Area[n+1][i]的质心运动位置p(xi,yi)的搜索区域;
[0024] (6)采集下一帧图像,对其进行步骤(2)的操作;
[0025] (7)同步骤(3);
[0026] (8)根据改进的代价函数,在当前帧图像的Kalman预测搜素区域匹配下一帧图像各目标连通域,计算当前帧目标连通域Area[n][i]与下一帧图像对应搜索区域内所有目标连通域的代价函数值,并找出其中最小值(假设与下一帧目标Area[n+1][j]代价函数值最小);
[0027] (9)计算目标连通域Area[n][i]和Area[n+1][j]的质心距离d,并与质心距离限定值d0作比较。若d≤d0,则目标连通域Area[n+1][j]为目标连通域Area[n][i]的后续,用目标连通域Area[n+1][j]的特征值替代目标连通域Area[n][i]的值,并对目标连通域Area[n+1][j]做标记,建立目标链;
[0028] (10)若d>d0,则目标连通域Area[n][i]在下一帧中没有后续,目标连通域Area[n][i]可能离开图像观测窗口或者暂时静止,需判断目标连通域Area[n][i]的质心坐标X的位置:
[0029] 5)对分块后的图像帧进行统计计数;
[0030] 具体如下:
[0031] 5.1)将目标图像检测区域ROI的横坐标的最小值和最大值分别保存到对应的变量xin和xout中,然后读取数组MovingImages[i][j]中的第一帧原始图像序列,记为多目标跟踪统计计数的当前帧目标图像;
[0032] 5.2)定义计数变量PersonIn和PersonOut,分别记录进入和离开的目标数量,初始化设置为0,并规定沿X轴正方向为进,逆X轴正方向为出;
[0033] 5.3)对目标连通域Area[n][i]的质心坐标X的位置:
[0034] 当X≤xin时,如果目标连通域Area[n][i]的运动轨迹的第一个质心横坐标X1≤xin,则说明该目标一直在预留区内徘徊,任何计数器不动作;如果X1>xin,则说明目标离开跟踪窗口,方向为出,出计数器PersonOut加1,并清除目标连通域Area[n][i]的目标链;
[0035] 当X>xout时,如果目标连通域Area[n][i]的运动轨迹第一个质心坐标横坐标X1≥xout,则说明该目标一直在预留区内徘徊,任何计数器不动作;如果X1
[0036] 当xin
[0037] 5.4)跟踪窗口中的所有目标连通域进行匹配后,验证当前帧中所有目标是否被跟踪;若存在未被跟踪的目标,则判断其质心横坐标是否满足X≤xin和X>xout中的任意一个,满足则表示有新目标出现,为其建立新的目标链,获取并记录特征值,转入步骤4中的(3);不满足则判断为干扰,丢弃;
[0038] 5.5)当前帧图像中所有目标识别计数结束后,计算当前进计数器PersonIn和出计数器的差值PersonOut的差值,记为当前客流量CustomCounting,当前帧图像的目标识别计数结束;
[0039] 5.6)依次对图像数组MovingImages[i][j]中每帧图像的目标连通域进行识别和自动计数,直到图像数组MovingImages[i][j]中的图像序列全部处理完毕,则整个目标识别计数结束。
[0040] 按上述方案,所述采用目标链代价函数对多目标进行跟踪匹配,步骤是:
[0041] 1)获取第k帧图像中多个目标的三个特征值:目标质心坐标、平均灰度和目标区域的面积,其中目标i的特征值分别记为:Point[k][i]、Gray[k][i]和Space[k][i];
[0042] 2)利用Kalman滤波预测第k帧图像中目标i在第k+1帧图像中的搜索区域,遍历目标i在第k+1帧图像中的搜索区域,发现n个目标对象,获取他们的特征值,其中目标j的特征值分别记为:Point[k+1][j]、Gray[k+1][j]和Space[k+1][j];
[0043] 3)分别求取第t+1帧图像目标i的搜索区域中n个目标对象与第t帧图像中目标i的3个特征值的变化程度,求取最大值分别记为MaxPoint、MaxGray和MaxSpace,具体计算公式如下:
[0044] MaxPoint[i]=Max(sqrt((Point[k][i].x-Point[k+1][m].x)*(Point[k][i].x-Point[k+1][m].x)+(Point[k][i].y-Point[k+1][m].y)*(Point[k][i].y-Point[k+1][m].y)))
[0045] MaxGray[i]=Max(sqrt((Gray[k][i]-Gray[k+1][m])*(Gray[k][i]-Gray[k+1][m])))
[0046] MaxSpace[i]=Max(sqrt((Space[k][i]-Space[k+1][m])*(Space[k][i]-Space[k+1][m])))
[0047] 其中,1≤m≤n,表示目标i的搜索区域中n个目标中任意一个;其中sqrt为开平方根运算;
[0048] 4)求取第t帧图像中目标i和第t+1帧图像中目标j的质心距离大小D[i][j]、灰度变化程度H[i][j]和面积变化程度S[i][j],相应的计算公式如下:
[0049] D[i][j]=sqrt((Point[k][i].x-Point[k+1][j].x)*(Point[k][i].x-Poin t[k+1][j].x)+(Point[k][i].y-Point[k+1][j].y)*(Point[k][i].y-Point[k+1][j].y))/MaxPoint[i];
[0050] H[i][j]=sqrt((Gray[k][i]-Gray[k+1][j])*(Gray[k][i]-Gray[k+1][j]))/MaxGray[i];
[0051] S[i][j]=sqrt((Space[k][i]-Space[k+1][j])*(Space[k][i]-Space[k+1][j]))/MaxSpace[i]
[0052] 5)代价函数V[i][j]可由步骤4.5.4)所求三个特征值变化量求得:
[0053] V[i][j]=αD[i][j]+βH[i][j]+γS[i][j];
[0054] 其中α、β、γ三个参数系数表示三个特征值的影响因子,可按照实际情况调整。
[0055] 按上述方案,所述采用Kalman滤波预测搜索区域的具体步骤是:
[0056] 1)假设图像中各目标质心的运动为匀速运动,包围窗口面积基本不变,初始化目标在x方向的运动速度Vx,在y方向上的运动速度Vy,包围窗口长宽的变化速度Vt,图像采样步长T(即每帧图像序列之间的时间间隔);
[0057] 2)基于第k-1帧图像中的目标i,获取第k帧图像中对应目标i的特征值的最优估算结果:质心位置X坐标Point[k][i].x和Y坐标Point[k][i].y、包围窗口的长度Win[k][i].length和宽度Win[k][i].width、两特征量的偏差估计P[k][i];
[0058] 3)基于第2)步获得的结果,计算第k+1帧图像中目标i的特征值预测值和偏差估计,具体的计算公式如下:
[0059] Point[k+1][i].x=Point[k][i].x+Vx*T;
[0060] Point[k+1][i].y=Point[k][i].y+Vy*T;
[0061] Win[k+1][i].length=Win[k][i].length+Vt*T;
[0062] Win[k+1][i].width=Win[k][i].width+Vt*T;
[0063] P[k+1][i]=P[k][i]+Q;
[0064] 4)根据第k+1帧图像中目标i的特征值预测值和偏差估计,计算对应的Kalman增益:
[0065] Kg[k+1][i]=P[k][i]/(P[k][i]+R)
[0066] 计算第k+1帧图像中目标i的各个特征值和偏差估计的最优估计值,并更新他们的预测值:
[0067] Point[k+1][i].x=Point[k+1][i].x+Kg[k+1][i]*(Z[k+1][i].x-Point[k+1][i].x);Point[k+1][i].y=Point[k+1][i].y+Kg[k+1][i]*(Z[k+1][i].y-Point[k+1][i].y);
[0068] Win[k+1][i].length=Win[k+1][i].length+Kg[k+1][i]*(Z[k+1][i].length-Win[k+1][i].length);
[0069] Win[k+1][i].width=Win[k+1][i].width+Kg[k+1][i]*(Z[k+1][i].width-Win[k+1][i].width);
[0070] P[k+1][i]=(1-Kg[K+1][i])*P[k][i];
[0071] 5)由此可得第k帧图像中目标i在第k+1帧中的预测搜索区域(X,Y)为:
[0072] Point[k+1][i].x-1.5*Win[k+1][i].length/2≤X≤Point[k+1][i].x+1.5*Win[k+1][i].l ength/2;
[0073] Point[k+1][i].y-1.5*Win[k+1][i].width/2≤Y≤Point[k+1][i].y+1.5*Win[k+1][i].w idth/2。
[0074] 按上述方案,所述步骤4的(8)中目标链中目标的关联匹配和数据关联的算法的实现步骤是:
[0075] 在目标链的关联匹配中,若出现第k帧图像中目标i与第k+1帧图像中目标i的预测搜索区域中第j个目标和第m个目标的代价函数值相等,且同时为最小,则此时目标的跟踪匹配会发生冲突,则采用以下改进算法,完成目标的正确跟踪匹配;
[0076] 计算第k帧图像中目标i和第k+1帧图像中目标j和m的代价函数,若代价函数值相等且为最小,则将上述3个目标的灰度特征值分别记为Gray[k][i]、Gray[k+1][j]、Gray[k+1][m];
[0077] 分别求取第k帧图像中目标i和第k+1帧图像中目标j、m的平均灰度变化大小,计算公式为:
[0078] Value1=sqrt((Gray[k][i]-Gray[k+1][j])*(Gray[k][i]-Gray[k+1][j]));
[0079] Value2=sqrt((Gray[k][i]-Gray[k+1][m])*(Gray[k][i]-Gray[k+1][m]));
[0080] 若Value1
[0081] 与第k帧图像中的目标i没有匹配成功的可与第k帧图像中的其他目标匹配,或者保留等待下一帧中找到匹配目标。
[0082] 本发明产生的有益效果是:本发明提供的基于图像信息的客流量识别统计方法为此类多目标识别与跟踪计数问题,提供了一种可供参考的解决途径,该方法实时性强、鲁棒性好、智能性高、稳定性强。

附图说明

[0083] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0084] 图1为图像采集现场硬件安装示意图;
[0085] 图2为本发明某次实验的现场背景图像及检测区域ROI设置;
[0086] 图3为图1背景下目标进入检测区域图像;
[0087] 图4为运动目标存在检测阶段的差分图像;
[0088] 图5为人头部目标识别和特征提取结果图像;
[0089] 图6为人头部目标识别结果在原图中显示;
[0090] 图7为一组动态图像的目标特征量表;
[0091] 图8为图6中该类多目标的质心运动轨迹;
[0092] 图9为图6中该类多目标建立的跟踪窗口;
[0093] 图10为本发明的方法流程图。

具体实施方式

[0094] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0095] 如图10所示,一种基于图像信息的客流量识别统计方法。
[0096] 某商场入口处1的顶端安装摄像头2,PC主机通过图像采集卡3与摄像头2进行通信,将采集的图像信息经处理后在显示器5上显示,利用人顶部的图像识别和统计人员的流量,现场硬件安装示意图如图1所示。
[0097] 第一步、运动目标的检测识别
[0098] 实验采用的图像分辨率为600×560。为了减少图像处理量,对图像进行分块处理,图像的大小为150×140。摄像头采集图像的速度为:4帧/s。具体步骤如下:
[0099] 1)设置目标图像检测ROI区域的四个参数:ROI.X代表ROI区域左上角点x轴坐标,ROI.Y代表ROI区域左上角点y轴坐标,ROI.Width代表ROI区域宽度,ROI.Height代表ROI区域高度。本例中,设置:ROI.X=40,ROI.Y=50,ROI.Width=50,ROI.Height=60。
[0100] 2)采用多幅图像平均法,对M帧图像叠加求取平均值,获取某段视频图像在没有目标存在时的背景图像,如图2。
[0101] 3)将采集到的该视频图像的第i帧图像进行分块处理,记为当前帧参数确定图像,并选定目标图像检测ROI区域,如图3所示。
[0102] 4)对当前帧图像进行二值化后,再通过距离变换和均值滤波或亚取样,得到当前帧图像的增强图像;然后与经过1)~3)步处理过的第i-1帧图像进行差分,将选定ROI区域的差值记为NZ。
[0103] 5)将NZ与设定的报警最小元素数量限定值N0作比较:若NZ<N0,则没有运动存在,自动采集i+1帧图像,返回第2)步重新开始;若NZ≥N0,则保存第i帧图像,记为I1。
[0104] 6)对第i帧图像I1和背景图像I0进行基于差分法的自适应背景分割,再将得到的图像二值化,并进行形态学腐蚀,将选定ROI区域的差值记为NB,差值图像如图4所示。
[0105] 7)将NB与设定的报警最小元素数量限定值N′0作比较:若NB<N′0,则没有待检测目标存在,自动采集i+1帧图像,返回第2)步重新开始;若NB≥N′0,则报警存在运动的目标,并将该图像帧存入数组MovingImages[i][j]中,以准备做后续的图像识别与处理。
[0106] 第二步、多目标的跟踪与统计计数
[0107] 根据读取的视频图像,设定好ROI检测区域,将其横坐标的最小和最大值保存到变量xin和xout中,并选择有运动目标出现的连续图像帧,依次保存在数组MovingImages[i][j]中,读取该数组中的图像序列的第一帧目标图像,将其记为多目标跟踪统计计数的当前帧图像,然后按照以下步骤根据人头顶的视频图像进行客流量的在线识别计数,将计数结果存储到计数变量PersonIn和PersonOut中,分别记录进入和离开的目标数量,计数变量初始值设为0。本例中,设置xin=40,xout=100。
[0108] 1)启动进出两个计数器,并规定沿x正方向为进,x反方向为出。
[0109] 2)对获得的当前帧目标图像二值化后,选用合适的结构算子对其进行形态学腐蚀,以去除伪目标(即非头部图像),取得只含有运动目标连通区域的二值图像。
[0110] 3)遍历该二值图像,获取各个目标连通域Area[n][i]的特征值,并存入相应的链表中,其参数包括:图像和目标索引Num和Index,目标质心的横坐标X,纵坐标Y,对应原图像目标区域的灰度平均值Gray,目标区域矩形包围窗口的长度Length和宽度Width,目标区域的面积大小Space,如图4所示,两个目标的质心坐标分别为:(83.8530,90.2874)、(118.8503,33.7245);平均灰度分别为:85.9029、77.204;目标包围窗口分别为:30*29、34*27;目标区域面积大小分别为:762、755。
[0111] 4)根据获得的目标Area[n][i]特征值,基于Kalman滤波预测下一帧图像中目标连通域Area[n+1][i]的质心运动位置p(xi,yi)和区域。
[0112] 5)采集下一帧图像,对其进行步骤1)的操作。
[0113] 6)同第二步的步骤2)。
[0114] 7)根据改进的代价函数,在当前帧图像的Kalman预测搜素区域匹配下一帧图像各目标连通域,计算当前帧目标Area[n][i]与下一帧图像对应搜索区域内所有目标的代价函数值,并找出其中最小值(假设与下一帧目标Area[n+1][j]代价函数值最小)。
[0115] 8)计算目标Area[n][i]和Area[n+1][j]的质心距离d,并与距离限定值d0作比较。若d≤d0,则目标Area[n+1][j]为目标Area[n][i]的后续,用目标Area[n+1][j]的特征值替代目标Area[n][i]的值,并对该目标Area[n+1][j]做标记,建立目标链。
[0116] 9)若d>d0,则目标Area[n][i]在下一帧中没有后续目标,该目标可能离开图像观测窗口或者暂时静止,需判断目标Area[n][i]的质心坐标:
[0117] 当X≤xin时,如果该目标Area[n][i]运动轨迹的第一个质心横坐标X1≤xin,则说明该目标一直在预留区内徘徊,任何计数器不计数;如果X1>xin,则说明目标离开跟踪窗口,方向为出,出计数器PersonOut加1,并清除目标链Area[n][i]。
[0118] 当X>xout时,如果该运动目标轨迹第一个质心坐标横坐标X1≥xout,任何计数器不计数;如果X1
[0119] 当xin
[0120] 10)所有被跟踪目标进行匹配后,验证当前帧中所有目标是否被跟踪。若存在未被跟踪的目标,则判断其质心横坐标是否满足:X≤xin或者X>xout,满足则是有新目标出现,为其建立新的目标链,设置特征值;不满足则可能为干扰,丢弃,如图5所示。本例中,两目标在下一帧中匹配目标的特征值:质心坐标分别为:(80.7355,91.3539)、(116.1797,34.5599);平均灰度分别为:86.9632、77.7487;目标包围窗口分别为:31*29、35*28;目标区域面积大小分别为:760、768。
[0121] 11)每帧图像中所有目标识别计数结束后,即可计算当前进计数器PersonIn和出计数器的差值PersonOut的差值,赋给变量CustomCounting,即为当前客流量的统计结果。本例中当前帧的PersonIn=2,PersonOut=0,CustomCounting=2-0=1。
[0122] 识别匹配结果在原图中显示,如图6所示,当前帧图像的目标识别计数结束。
[0123] 按照步骤1)~10)依次对每帧的目标进行识别和自动计数,直到该图像数组MovingImages[i][j]中的图像全部处理完毕,将各时刻两个计数器PersonIn和PersonOut的值及其差值CustomCounting存入数据库,即可对客流量进行统计分析。本例中,最终客流量统计值为CustomCounting=572,所用的一段视频中,识别计数过程中某两目标在检测区域各帧图像中的特征量如图7所示,根据识别得到的数据重现该两目标质心和目标包围窗口运动轨迹分别如图8和图9。
[0124] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。