聚众事件检测方法及系统的制作方法_2

文档序号:9433554阅读:来源:国知局
图2所示视频帧图像的二值化后的运动目标团块;
[0034] 图4为图3的二值化运动目标团块对应的完整无空洞的团块;
[0035] 图5为图1所示方法中提取团块边界的方法流程图;
[0036] 图6为图1所示方法中另一帧的视频帧图像;
[0037] 图7为对图6所不的视频图像的团块检测后获取的团块;
[0038] 图8为对图7所示的团块进行人体检测后获取的人体团块;
[0039] 图9为本发明一实施方式的聚众事件检测系统的框架示意图;
[0040] 图10为按图5所示的方法提取团块边界的应用实例的示意图。
【具体实施方式】
[0041] 下面结合附图对本发明作进一步详细的说明。
[0042] 图1示意性地显示了根据本发明的一种实施方式的聚众事件检测方法。如图1所 示,该方法包括:
[0043] 步骤SlOl :对视频帧图像进行运动目标检测获取二值化的运动目标。
[0044] 聚众事件是一种由多个人相互聚拢的异常事件,在其检测中需要考虑两个关键问 题:行为描述和行为建模。其中,行为描述即选择合适的特征描述事件,一般对特征的选 择包括:人体目标、团块、轨迹、能量和变化的灰度级数。本发明选取团块和能量作为聚众 异常事件行为描述的特征。在通过对视频中的一帧视频图像进行运动物体检测算法(如 Verilook算法,为现有技术的内容,故不详述)后,即可得到视频中二值化后的运动目标, 如对图2中所示的原始视频帧图像,进行运动物体检测算法(如Verilook算法)后即可得 到如图3中所示的二值化后的运动目标。
[0045] 步骤S102 :对二值化的运动目标运用形态学操作得到无空洞的二值目标团块。
[0046] 得到二值化后的运动目标后,对其进行图像形态学处理(通过现有技术即可实 现,故不详述),即可得到完整而空洞的团块,如对图3中的二值化运动目标进行图像形态 学处理,即可提取视频帧序列的运动目标的二值化前景帧,得到如图4所示的完整无空洞 的团块。需要说明的是,团块可以较好的反映运动目标的形态等信息,从中提取一些具有统 计特性的特征来表示对象,如团块的面积、团块的长宽比等,即可用于行为识别。如对图6 中的原始帧图像经过运动目标检测和图像形态学处理提取运动目标的二值化前景帧,得到 图7所示的运动目标的无空洞团块。之后,使用背景差分法获得前景图像,提取前景中目标 轮廓的长宽比,将长宽比不满足条件的(如人的长宽比大于2,设置长宽比为大于2的条件 值)前景目标去掉,以排除其他物体(如图7中的汽车)的影响,从而得到图8所示的场景 目标(即只有行人的前景团块)。由此,就可以方便准确的在运动目标中检测出人,从而提 高聚众事件检测目标群体的精准性。
[0047] 步骤S103 :对无空洞的团块提取边界,获取封闭区域边界。
[0048] 对团块进行边界提取后,有了团块边界,就可以通过简单的统计边界内部的像素 数,获取团块的面积和团块的长宽比。图5示意性地显示了团块边界的提取过程,如图5所 示,该过程包括:
[0049] 步骤S501 :对无空洞的团块的二值图像设置目标点和非目标点取值,将非目标点 取值为1,目标点取值为〇。
[0050] 对二值化后的无空洞团块,设置前景像素点(即目标点)取值为1,对背景像素点 (即非目标点)取值为〇。
[0051] 步骤S502 :根据目标点和非目标点获取目标区域,并分别获取X轴和Y轴的最大 刻度MaxX、MaxY及坐标原点。
[0052] 以从左到右为X轴方向,从上到下为Y轴方向,对二值化后的图形分别沿X轴方向 水平和沿Y轴方向竖直扫描图像中的像素点,当第一次扫描到目标点时,标记水平线和竖 直线,从而获取无空洞团块的矩形目标区域。将矩形目标区域的左上角向左平移一个单位, 再向上平移一个单位,取平移后的点为坐标原点,设定原点坐标为(X = l,y = 1)。从原点 出发,以矩形目标区域的最右边的竖直边界线确定X轴的最大刻度MaxX,以矩形目标区域 的最下面的水平边界线确定Y轴的最大刻度MaxY。
[0053] 步骤S503 :以坐标原点为左上角起始点,获取2*2的窗口作为观察窗。
[0054] 以坐标原点(X = l,y = 1)为左上角,取2*2(以像素点为单位,1代表一个像素 点,2代表两个像素点)大小的矩形窗口作为观察窗,并对每个观察窗以序号1为起始编号 依次进行顺序编号。
[0055] 步骤S504 :判断观察窗是否既包含目标像素又包含背景像素,根据判断结果获取 边界观察窗。
[0056] 获取观察窗内的像素点进行目标像素点和非目标像素点的判断,如果观察窗既包 含目标像素又包含背景像素,则记为边界观察窗,并依次记录边界观察窗编号,将观察窗编 号分为左右两端,分别记录在临时数组变量L和R中,L为左端的观察窗编号,R为右端的 观察窗编号。在进行左右段分割时依据观察窗编号的连续性进行左右端分配(即R和L分 割点就是编号不连续处),将同一行中相连续的编号较小的观察窗编号放入L中,把接着发 生断点的顺序编号的观察窗编号放入R中,即如果当前的观察窗编号与上一次获取的同行 (即观察窗左上角的X值相等)的观察窗编号是连续编号的,则放在同一个数组(即L或R 数组中)。
[0057] 步骤S505 :以坐标为(X = x+1, y = y)的点作为观察窗的左上角,平移观察窗。
[0058] 在X大于等于1小于等于MaxX、y大于等于1小于等于MaxY的范围内,先沿X轴再 沿Y轴平移观察窗,遍历目标区域以获取全部边界观察窗,通过边界观察窗提取区域边界。
[0059] 从坐标原点出发,进行步骤S504的判断后,需要沿X轴方向平移观察窗继续进行 判断。平移时,以X = 1为单位进行平移,具体为将观察窗左上角的坐标(x,y)的X坐标加 一,y坐标保持不变,将得到的新的坐标点(x+l,y)作为平移后观察窗的左上角。
[0060] 步骤S506 :判断窗口的左上角的坐标X是否大于X轴方向的最大刻度MaxX,如果 大于则进行步骤S507,否则进行步骤S504。
[0061] 通过步骤S502获取了运动目标的矩形目标区域,对边界观察窗的获取在该矩形 目标区域内进行才更快效率更高,所以在平移观察窗时,要在矩形目标区域的边界区域内 进行,也即是观察窗的左上角的X和y坐标不大于最大刻度MaxX和MaxY。此步骤进行X坐 标是否大于MaxX的判断,即判断坐标为X的行的遍历是否结束,如果大于说明该行已遍历 结束,则跳转到步骤S507进行边界观察窗的存放,否则跳转至步骤S504判断平移后的观察 窗是否为边界观察窗。
[0062] 步骤S507 :将获取的边界观察窗的编号按顺时针连续的方向存入数组Z。
[0063] 在每行遍历结束后,将该行中获取的边界观察窗的编号存入到边界数组Z中,然 后再进行下一行(即y+Ι)的遍历。具体为,首先在每行遍历结束后,将数组Z的中间剩余的 空间区段分为左中右三个区段,在起始行即第一行遍历结束后,将步骤S504记录的数组L 中的编号存入数组Z中间区段的左段,R中的编号存入数组Z中间区段的右端,在第二行至 第MaxY行结束后,将数组R中的编号存入数组Z中间区段的左段,L中的编号存入数组Z中 间区段的右段。需要说明的是,在存放的过程中,需要将编号按顺时针方向排列的顺序进行 存放,并且在存入前,还要检查前一次存储的R和L与当前要存放的边界观察窗编号的顺序 关系(即是否是按顺时针方向顺序依次存放),以保证边界点的光滑性。这样存储后,在依 次读取数组Z中的编号时,提取出的就是按顺时针方向排列的边界观察窗。
[0064] 步骤S508 :设置X为坐标原点的X值即X = 1,以坐标为(X = l,y = y+Ι)的点作 为左上角,平移观察窗。
[0065] 当观察窗的左上角在X轴方向的坐标值大于MaxX时,说明该行的遍历结束,需要 转到下一行进行遍历,此时将y的值设置为y = y+Ι,即将观察窗的左上角的y坐标加一,以 将观察窗平移到下一行。同时,将X的值设置为坐标原点的值即X = 1,将观察窗平移到左 上角为(l,y+l)的位置,在下一行从X轴方向的坐标始点开始遍历目标区域。
[0066] 步骤S509 :判断窗口的左上角的坐标y是否大于MaxY,大于则进行步骤S510,否 则进行步骤S504。
[0067] 在开始新一行的遍历前,首先判断此时左上角坐标y的值是否大于MaxY,即在Y轴 方向的遍历是否结束,如果大于则说明对目标区域的遍历已经结束,已获取了全部的边界 观察窗,此时进行步骤S510,否则,跳转至步骤S504在新的行(即y = y+Ι的行)进行目标 区域的遍历。
[0068] 步骤S510 :将数组Z依次取出,生成区域边界。
[0069] 通过以上步骤,当目标区域遍历完成后,数组Z中存储的即是按顺时针方向依次 存储的边界观察窗的编号,依次取出观察窗编号,取这些边界观察窗的中心(即矩形的中 心)为像素点,将所有的像素点连接起来,即可得到团块的区域边界。
[0070] 图10是根据图5的边界提取过程的边界提取示
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1