发明名称 一种实时公交车客流量统计方法
摘要 本发明提供了一种基于目标先验分布的实时公交车客流量统计的方法,采用了目标检测、目标跟踪、目标行为分析等方法,属于模式识别技术领域。具体为:利用目标先验灰度统计直方图对输入视频图像进行反向投影运算,再对反向投影图像进行差分、二值化、滤波、连通域标记等处理实现目标检测。采用灰度互相关关联匹配跟踪和均值平移算法搜索跟踪实现对目标的准确定位。最后分析目标的运动轨迹判断乘客的上下车行为,实现客流量统计。本发明可以为公交公司实现公交车智能调度、公交车移动传媒广告受众分析等提供细粒度的可靠依据。
申请公布号 CN101777188B 申请公布日期 2012.06.13
申请号 CN201010122682.5 申请日期 2010.03.12
申请人 华中科技大学 发明人 桑农;陈景东;黄朝露;刘乐元;罗大鹏;唐奇玲;高常鑫;王海;王强;李驰
分类号 G06T7/20(2006.01)I 主分类号 G06T7/20(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 朱仁玲
主权项 1.一种实时公交车客流量统计方法,包括目标检测、目标跟踪、目标行为分析及客流统计计数三个步骤,其特征在于:所述的目标检测步骤中,包括以下过程:(1)提取目标先验灰度统计直方图先人工手动的从预先捕获的客流视频图像中提取多幅只包含乘客人头区域信息的图像,形成目标样本集;再分别提取目标样本集中每个样本的灰度统计直方图Hist<sub>aa</sub>,则样本集的平均灰度统计直方图为<img file="FDA0000080233970000011.GIF" wi="475" he="121" />其中aa是样本在样本集中的索引值,total为样本集的大小,表示样本的数量,这个目标样本集的平均灰度统计直方图就作为目标先验灰度统计直方图;(2)基于上述目标先验灰度统计直方图对输入视频图像的任一帧I<sub>t</sub>进行反向投影运算,即将I<sub>t</sub>的每个像素点的灰度值映射为该灰度值在目标先验灰度统计直方图中的统计次数或概率,得到I<sub>t</sub>对应的反向投影图像P<sub>t</sub>,然后再将P<sub>t</sub>的像素值量化到[0,255]范围内,其中t表示输入视频图像中的任一帧索引值;(3)对所述反向投影图像P<sub>t</sub>和与该帧I<sub>t</sub>之前相隔τ帧的图像P<sub>t-τ</sub>进行差分和二值化运算,得到结果图像S<sub>t</sub>,其中τ≥1;(4)对所述结果图像S<sub>t</sub>滤波,以消除图像中存在的孤立噪声点和连接断开的目标区域;(5)连通域标记:所述结果图像S<sub>t</sub>经过滤波处理之后,将其中像素值为255且彼此位于对方的8邻域中的像素用同一数值标记出来,标记后的图像中具有相同数值的所有像素则隶属于同一个连通域,将所有连通域作为I<sub>t</sub>中待检测的目标压入检测目标队列head_list中;在所述目标跟踪步骤中,包括以下过程:(6)记跟踪目标队列为people_list,判断其是否为空,如果为空,则将上述检测目标队列head_list中的所有目标作为新进入场景中的目标压入跟踪目标队列people_list中,并直接跳转到步骤(10),如果不为空,则转入步骤(7);(7)虚警删除:根据虚警删除机制,删除跟踪目标队列people_list中的虚警目标,其中,所述虚警删除机制包括:(A)目标的位置位于图像的边缘,(B)目标的滞留时间达到预设值的上限,(C)目标允许的消失时间达到预设值的上限,D)目标已用于了客流统计计数,若跟踪目标队列people_list中的目标满足所述虚警删除机制中任何之一,则该目标为虚警目标,删除该虚警目标,更新跟踪目标队列people_list;(8)灰度互相关关联匹配跟踪:将检测目标队列head_list与虚警删除后的跟踪目标队列people_list按照一定的关联规则进行数据关联匹配,其中,所述的关联规则为两级级联准则,即在只有满足第一级准则的条件下才可进入第二级处理,所述第一级准则为只有当两个目标的中心点分别位于彼此的邻域之内才认为它们可能有关联;第二级准则为在上一级中可能相互关联的目标,若其相似度满足预设条件则认为它们已经正确的匹配上,具体关联匹配过程为:假设people_list中存在m个目标,head_list中存在n个目标,用a<sub>kl</sub>表示people_list中的任一目标k和head_list中的任一目标l之间的相似度,用d<sub>kl</sub>表示people_list中的该任一目标k和head_list中的该任一目标l的中心点之间的欧式距离,将该任一目标k或任一目标l所属图像区域即目标区域的二维点集R={I<sub>t</sub>(a,b):a<sub>1</sub>≤a≤a<sub>2</sub>,b<sub>1</sub>≤b≤b<sub>2</sub>}转换为按行顺序存储的一维向量X,其中a,b为I<sub>t</sub>中任一像素点I<sub>t</sub>(a,b)的位置,a代表列的位置,b代表行的位置,a<sub>1</sub>,a<sub>2</sub>分别为I<sub>t</sub>中的目标区域的最左边列和最右边列的位置坐标,b<sub>1</sub>,b<sub>2</sub>分别为I<sub>t</sub>中的目标区域的最下边行和最上边行的位置坐标,记向量X的均值为<img file="FDA0000080233970000031.GIF" wi="344" he="120" />x<sub>c</sub>为向量X中任一元素,N为向量X的长度,也就是目标区域的总像素数,N=(a<sub>2</sub>-a<sub>1</sub>+1)×(b<sub>2</sub>-b<sub>1</sub>+1);定义相似度函数如下:<maths num="0001"><![CDATA[<math><mrow><msub><mi>a</mi><mi>kl</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>r</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mo>|</mo><mrow><mo>(</mo><msub><mi>X</mi><mi>kr</mi></msub><mo>-</mo><mi>E</mi><mo>[</mo><msub><mi>X</mi><mi>k</mi></msub><mo>]</mo><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mi>X</mi><mi>lr</mi></msub><mo>-</mo><mi>E</mi><mo>[</mo><msub><mi>X</mi><mi>l</mi></msub><mo>]</mo><mo>)</mo></mrow><mo>|</mo><mo>,</mo></mtd><mtd><mi>if</mi><mrow><mo>(</mo><msub><mi>d</mi><mi>kl</mi></msub><mo>&le;</mo><msub><mi>th</mi><mn>3</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>+</mo><mo>&infin;</mo><mo>,</mo></mtd><mtd><mi>else</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>其中M为向量X<sub>k</sub>和X<sub>l</sub>的有效长度,M=min(N<sub>k</sub>,N<sub>l</sub>),表示取N<sub>k</sub>,N<sub>l</sub>中的较小者,N<sub>k</sub>,N<sub>l</sub>分别为people_list中的任一目标k和head_list中的任一目标l所属目标区域转换后得到的向量X<sub>k</sub>和X<sub>l</sub>的长度,th<sub>3</sub>是预设的目标邻域大小,X<sub>kr</sub>和X<sub>lr</sub>分别为向量X<sub>k</sub>和X<sub>l</sub>中任一元素,据此得到people_list和head_list队列间的相似度关联矩阵:<maths num="0002"><![CDATA[<math><mrow><mi>A</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>a</mi><mn>11</mn></msub></mtd><mtd><msub><mi>a</mi><mn>12</mn></msub></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><msub><mi>a</mi><mrow><mn>1</mn><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub></mtd><mtd><msub><mi>a</mi><mrow><mn>1</mn><mi>n</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>a</mi><mn>21</mn></msub></mtd><mtd><msub><mi>a</mi><mn>22</mn></msub></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><msub><mi>a</mi><mrow><mn>2</mn><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub></mtd><mtd><msub><mi>a</mi><mrow><mn>2</mn><mi>n</mi></mrow></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mrow><msub><mi>a</mi><mi>kl</mi></msub></mrow></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>a</mi><mrow><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>a</mi><mrow><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mn>2</mn></mrow></msub></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><msub><mi>a</mi><mrow><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub></mtd><mtd><msub><mi>a</mi><mrow><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mi>n</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>a</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>a</mi><mrow><mi>m</mi><mn>2</mn></mrow></msub></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><msub><mi>a</mi><mrow><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub></mtd><mtd><msub><mi>a</mi><mi>mn</mi></msub></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>当a<sub>kl</sub>同时满足如下两个预设条件:a<sub>kl</sub>=min{a<sub>k1</sub> a<sub>k2</sub>…a<sub>k(n-1)</sub> a<sub>kn</sub>},a<sub>kl</sub>=min{a<sub>1l</sub> a<sub>2l</sub>…a<sub>(m-1)l</sub> a<sub>ml</sub>},则认为head_list中的目标l与people_list中的目标k相匹配,更新people_list中目标k的相应信息;若a<sub>kl</sub>不满足上述两个预设条件,则分如下两种情况分别处理:(A)head_list中目标l与people_list中的目标k不匹配,则people_list中的目标k进一步转入步骤(9)进行搜索跟踪;(B)people_list中的目标k与head_list中的目标l不匹配,则head_list中的目标l作为新进入场景中的目标压入跟踪队列people_list中;(9)对people_list中没有检测目标与之相匹配的目标采用均值平移算法进行搜索跟踪,将people_list中的目标在上一帧图像I<sub>t-1</sub>中的位置作为在当前帧I<sub>t</sub>中进行均值平移搜索的初始位置,通过迭代搜索确定目标在I<sub>t</sub>中的可能位置,完成对people_list中没有检测目标与之相匹配的目标的搜索跟踪,并清空head_list;在所述的目标行为分析和客流量统计计数步骤中,包括以下过程:(10)目标行为分析和客流量统计计数:判断跟踪目标队列people_list中是否有满足计数规则的目标,若有则更新客流量统计数据,其中,所述的计数规则为:目标在进入场景时的图像中的初始位置和其在当前帧图像I<sub>t</sub>中的位置之间的距离大于预设值,则为下车;目标在当前帧图像I<sub>t</sub>中的位置与其在进入场景时的图像中的初始位置之间的距离大于预设值,则为上车。
地址 430074 湖北省武汉市洪山区珞喻路1037号