发明内容
有鉴于此,本发明提供了一种基于视频监控的智能分析***、以及一种基于视频监控的智能分析方法,能够基于人体头肩检测和跟踪实现视频监控智能分析,以提高视频智能分析的准确性。
且本发明还提供了一种头肩检测跟踪***、及一种头肩检测跟踪方法,能够实现人体头肩的检测和跟踪,以支持视频监控智能分析准确性的提高。
本发明提供的一种基于视频监控的智能分析***,包括:
头肩检测模块,用于在当前图像中进行人体头肩检测,确定当前图像中的各人体头肩;
运动估计模块,用于利用当前图像、以及当前图像中各人体头肩的位置,估算出前一帧图像中各人体头肩的平移矢量速度;
预测跟踪模块,用于根据前一帧图像中各人体头肩的平移矢量速度,对前一帧图像中各人体头肩进行预测跟踪,确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩,同时还确定新出现在当前图像中的人体头肩、以供所述运动估计模块和所述预测跟踪模块处理下一帧图像时使用;
第一智能分析模块,用于对前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的行为进行智能分析。
所述第一智能分析模块包括:
人数统计子模块,用于根据前一帧图像中各人体头肩的数量、和/或前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的数量,确定当前图像中的人数,得到人数统计结果;
动作分析子模块,用于根据所述运动估计模块得到的平移矢量速度,分析当前图像中各人体头肩的动作,得到动作分析结果。
所述人数统计子模块所确定的当前图像中的人数统计结果仅包括:在连续N帧图像中均出现的人体头肩的数量,其中,N为大于等于2的正整数;和/或,所确定的当前图像中的人数仅为预设智能分析子区域的位置、尺寸和形状内的人数。
该***进一步包括前景检测模块,用于利用前一帧图像的背景区域,从当前图像中检测包含运动物体的前景区域;且,所述头肩检测模块仅在当前图像的前景区域中检测人体头肩。
所述前景检测模块进一步用于对检测到的前景区域中的运动物体进行预测跟踪;该***进一步包括第二智能分析模块,用于对运动物体的预测跟踪结果所表示的事件进行智能分析。且,所述第二智能分析模块内部进一步配置有预设监控配置参数,并基于预设监控配置参数所表示的监控功能,对运动物体的预测跟踪结果进行智能分析。
该***进一步包括智能报警模块,其内部配置有预设报警规则,并用于在所述第一智能分析模块的智能分析结果、和/或第二智能分析模块的智能分析结果触发所述预设报警规则时,产生报警信号。
本发明提供的一种基于视频监控的智能分析方法,包括:
a1、在当前图像中进行人体头肩检测,确定当前图像中的各人体头肩;
a2、利用当前图像、以及当前图像中各人体头肩的位置,估算出前一帧图像中各人体头肩的平移矢量速度;
a3、根据前一帧图像中各人体头肩的平移矢量速度,对前一帧图像中各人体头肩进行预测跟踪,确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩,同时还确定新出现在当前图像中的人体头肩、以供所述步骤a2和所述步骤a3处理下一帧图像时使用;
a4、对前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的行为进行智能分析。
所述步骤a4包括:根据前一帧图像中各人体头肩的数量、和/或前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的数量,确定当前图像中的人数,得到人数统计结果;根据所述步骤a2得到的平移矢量速度,分析当前图像中各人体头肩的动作,得到动作分析结果。
所述确定的当前图像中的人数统计结果仅包括:在连续N帧图像中均出现的人体头肩的数量,其中,N为大于等于2的正整数;和/或,仅为预设智能分析子区域的位置、尺寸和形状内的人数。
所述步骤a1之前,该方法进一步包括:a0、利用前一帧图像的背景区域,从当前图像中检测包含运动物体的前景区域;且,所述步骤a1仅在当前图像的前景区域中检测人体头肩。
所述步骤a0进一步包括:对检测到的前景区域中的运动物体进行预测跟踪;所述步骤a0之后,该方法进一步包括:a4’、对运动物体的预测跟踪结果所表示的事件进行智能分析。
该方法进一步配置预设监控配置参数,且所述步骤a4’基于预设监控配置参数所表示的监控功能,对运动物体的预测跟踪结果进行智能分析。
该方法进一步包括:a5、在所述步骤a4得到的智能分析结果、和/或所述步骤a4’得到的智能分析结果触发所述预设报警规则时,产生报警信号。
本发明提供的一种头肩检测跟踪***,包括:
头肩检测模块,用于在当前图像中进行人体头肩检测,确定当前图像中的各人体头肩;
运动估计模块,用于利用当前图像、以及当前图像中各人体头肩的位置,估算出前一帧图像中各人体头肩的平移矢量速度;
预测跟踪模块,用于根据前一帧图像中各人体头肩的平移矢量速度,对前一帧图像中各人体头肩进行预测跟踪,确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩,同时还确定新出现在当前图像中的人体头肩、以供所述运动估计模块和所述预测跟踪模块处理下一帧图像时使用。
本发明提供的一种头肩检测跟踪方法,包括:
a1、在当前图像中进行人体头肩检测,确定当前图像中的各人体头肩;
a2、利用当前图像、以及当前图像中各人体头肩的位置,估算出前一帧图像中各人体头肩的平移矢量速度;
a3、根据前一帧图像中各人体头肩的平移矢量速度,对前一帧图像中各人体头肩进行预测跟踪,确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩,同时还确定新出现在当前图像中的人体头肩、以供所述步骤a2和所述步骤a3处理下一帧图像时使用。
由上述技术方案可见,本发明能够通过人体头肩检测、以及对人体头肩的运动估计和跟踪来识别场景中的人,并基于此来实现智能分析,以避免由于以人全身识别人时的不适用,从而由于提高的人体的识别精度而提高了智能分析的准确性。
而且,本发明所涉及的智能分析,可选地可至少包括人数统计和动作分析,以便于能够基于人数统计识别出是否发生聚集、是否有人进入危险区域、是否有人尾随等各种人的行为,还能够基于动作分析识别出是否有人摔倒、是否有人违规奔跑等各种人的行为,从而能够提高智能分析的应用范围。其中,在进行人数统计时,为了避免仅出现一次的人体头肩实际上为虚景而对人数统计精度产生影响,可选地,本发明还可以不考虑仅出现一次的人体头肩,以从而能够又进一步地提高智能分析的准确性。
进一步地,本发明还可以在图像中可以检测出包含运动物体的前景区域,从而可以仅在前景区域中进行人体头肩检测、而无需在不可能出现人体头肩的背景区域进行人体头肩检测,从而能够排除不必要的检测过程、以提高人体检测的效率,进而提高智能分析的效率。
这种情况下,本发明还可以进一步对检测出的前景区域中的运动物体进行预测跟踪,并对运动物体的预测跟踪结果进行智能分析,然后在该智能分析结果触发所述预设报警规则时也产生报警信号,即除了可以基于人的行为报警之外、对例如物体遗失等脱离人的行为之外的危险事件也可报警,以进一步提高本发明技术方案在实际应用中的实用性。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
由于在例如室内场景等容易出现人体遮挡的场景中,通常是能够保证显示人的头肩、即头部和肩部,因此,为了能够有效判断出这类监控场景中的某个目标是否为人、以便于对该场景内的人的行为实现智能分析,本实施例通过检测人体的头肩、并对检测到的头肩进行预测跟踪来识别场景中的人及人的行为,然后对识别出的人及人的行为进行智能分析。
图1为本发明实施例中视频监控智能分析***的示例性结构图。如图1所示,本实施例中的视频监控智能分析***包括:前景检测模块101、头肩检测模块102、图像存储模块103、运动估计模块104、预测跟踪模块105、以及第一智能分析模块106、第二智能分析模块107、智能报警模块108。
前景检测模块101,用于按照现有任一种前景检测方式,利用前一帧图像的背景区域,从当前图像中检测包含运动物体的前景区域。
头肩检测模块102,用于在当前图像的前景区域中进行人体头肩检测,确定当前图像中的各人体头肩。其中,头肩检测模块102可以基于现有任一种人体头肩检测方式的工作原理实现人体头肩,也可以基于按照本实施例所提出的基于三级分类器这一方式实现人体头肩检测,基于三级分类器的该方式详见后文。
需要说明的是,本实施例中的前景检测模块101为可选的模块,对于包含前景检测模块101的情况,头肩检测模块102无需在不可能出现人体头肩的背景区域进行人体头肩检测,从而能够排除不必要的检测过程、以提高人数统计的效率;而对于不包括前景检测模块101的情况,头肩检测模块102直接在整帧当前图像中进行人体头肩检测。
图像存储模块103,用于存储前一帧图像、以及表示前一帧图像中各人体头肩的人体头肩检测结果。其中,为了节省实现存储的硬件资源,图像存储模块103可以只存储一帧图像、表示该一帧图像中各人体头肩的人体头肩检测结果、以及该一帧图像中的其他相关信息,即在如图1所示***完成对当前图像的处理后,当前图像、表示当前图像中各人体头肩的人体头肩检测结果、以及当前帧图像中的其他相关信息均会被存储至图像存储模块103,以覆盖图像存储模块103中的前一帧图像、表示前一帧图像中各人体头肩的人体头肩检测结果、以及前一整帧图像中的其他相关信息。这样,对于下一帧图像来说,当前图像即作为该下一帧图像的前一帧图像。
运动估计模块104,用于利用当前图像、以及当前图像中各人体头肩的位置,估算出前一帧图像中各人体头肩的平移矢量速度。其中,运动估计模块104可以基于现有任意一种运动估计方式的工作原理实现运动估计;当然,运动估计模块104也可以基于本实施例所提供的像素匹配方式实现运动估计,该像素匹配方式详见后文。
预测跟踪模块105,用于根据前一帧图像中各人体头肩的平移矢量速度,对前一帧图像中各人体头肩进行预测跟踪,确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩,同时还确定新出现在当前图像中的人体头肩、以供所述速度估计模块104和所述预测跟踪模块105处理下一帧图像时使用。其中,预测跟踪模块105可以基于现有任一种预测跟踪方式的工作原理实现预测跟踪;预测跟踪模块105也可以基于本实施例中方法部分所提供的基于位置匹配方式的工作原理来实现预测跟踪。
第一智能分析模块106,用于对前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的行为进行智能分析。
实际应用中,第一智能分析模块106可至少包括:人数统计子模块161,用于根据前一帧图像中各人体头肩的数量、和/或前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的数量,确定当前图像中的人数,得到人数统计结果;动作分析子模块162,用于根据所述运动估计模块得到的平移矢量速度,分析当前图像中各人体头肩的动作,得到表示人是否摔倒等动作分析结果。
其中,对于人数统计子模块161如何确定当前图像中的人数,可以由本领域技术人员根据场景的实际情况和需要来任意设定。例如,假设前一帧图像中各人体头肩的数量,大于前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的数量,则表示前一帧图像中的至少一个人在当前图像中被遮挡、或消失,那么对于图像能够包含整个密闭房间景象的监控场景来说,由于不会有人从密闭房间中离开,因而人数统计子模块161可以将前一帧图像中各人体头肩的数量确定为当前图像中的人数即可;而对于地铁出入口等人移动十分频繁的监控场景来说,由于人通常是快速的单方向移动、而很少会由于停留而被遮挡,因而人数统计子模块161可以将前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的数量确定为当前图像中的人数即可,或同时再考虑多种其他条件来确定。再例如,对于作为人流出入较为频繁的大门等监控场景,人数统计子模块161还可进一步根据运动估计模块103得到的平移矢量速度,分别确定当前图像中在不同运动方向的人数,即,如果某个人体头肩跨过了进门的线,且平移速度的方向与进门方向一致,则进门的人体头肩数加1;如某个人体头肩跨过了出门的线,且平移速度的方向与出门方向一致,则出门的人体头肩数加1。
由此可见,本步骤中人数统计子模块161统计人数的具体方式只能依据监控场景的实际情况和需要来设定,因此,在此无法一一赘述。
而对于动作分析子模块162如何实现动作分析,则可以按照现有方式来实现。
且,较佳地,为了避免虚警,人数统计子模块161确定的当前图像中的人数仅包括:在连续N帧图像中均出现的人体头肩的数量,其中,N为大于等于2的正整数。
智能报警模块108,其内部配置有预设报警规则,并用于在第一智能分析模块107的智能分析结果触发该预设报警规则时,产生报警信号。其中,智能报警模块108内可以包含能够产生蜂鸣的声学部件、和/或能够闪烁的光学部件。
对于如何判断场景中人的行为是否触发上述预设报警规则,本领域技术人员可以利用现有智能分析技术,根据场景的具体情况及需要来任意设定。假设对于任意室内场景,如果该场景内某个区域内的人数突然剧增、而该场景内其他区域内的人数骤减,或者该场景内的所有人体头肩的平移矢量速度朝向同一个方向、且速度绝对值较大,则表示在该场景内发生例如斗殴等人的快速聚集,从而判断人的该行为触发预设报警规则;再假设对于化学实验室、火药仓库等禁止入内的室内场景,如果有人出现在该场景内,即表示有人进入危险区域,从而判断该事件触发预设报警规则;又假设对于需要刷卡进入的自助银行等室内场景,如果存在平移矢量速度相同的至少两个人、且前一个人在进门之前有刷卡动作而后一个人未刷卡即进门,即表示有人尾随,从而判断该事件触发预设报警规则;又假设对于具有规定行走方向的走廊等室内监控场景,则只要有人体的运动方向与规定运动方向相反、且速度较快,即表示有人体反向奔跑,从而判断人的该行为触发预设报警规则;对于其他场景在此不再一一列举。
当然,智能报警模块108仅仅为可选的功能模块,即智能分析后并非一定要报警。
此外,本实施例中可选的前景检测模块101,还可进一步用于对检测到的前景区域中的运动物体进行预测跟踪。
相应地,第二智能分析模块107则用于对运动物体的预测跟踪结果所表示的事件进行智能分析。具体来说,第二智能分析模块107内部进一步配置有预设监控配置参数,并基于预设监控配置参数所表示的现有任一种监控功能,对运动物体的预测跟踪结果进行智能分析。
那么智能报警模块108则可以进一步用于在第二智能分析模块的智能分析结果触发上述预设报警规则时、即在场景中发生的事件触发上述预设报警规则时,产生报警信号。
对于如何判断场景中发生的事件是否触发上述预设报警规则,本领域技术人员可以利用现有智能分析技术,根据场景的具体情况及需要来任意设定。假设对于为某些禁止任何物体入内的室内场景,只要有运动物体出现在该监控场景内,即表示有危险目标入侵,从而判断该事件触发预设报警规则;再假设对于具有规定运动方向的道路等场景,只要有运动物体的运动方向与规定运动方向相反,即表示有物体逆行,从而判断该事件触发预设报警规则;又假设对于候车室等室内场景,只要第二智能分析模块107基于现有遗失物检测的视频监控功能,检测到有物体遗失,则判断该事件触发预设报警规则;对于其他场景在此不再一一列举。
需要说明的是,由于前景检测模块101为可选的,那么第二智能分析模块107自然也就为可选的。
进一步地,为了使得本实施例中的视频监控智能分析***便于用户使用,用户可根据监控场景的实际情况,在头肩检测模块102中任意设置用于表示仅对该区预内人体头肩计数有效的智能分析子区域、和/或用于计数的人体头肩的尺寸;此时,头肩检测模块102则可根据预设智能分析子区域的位置、尺寸和形状仅在当前图像的部分前景区域中执行人体头肩检测,和/或在执行人体头肩检测时仅检测符合预设人体头肩尺寸的人体头肩。其中,上述的任意设置是指,在任意位置设置智能分析子区域、且设置的智能分析子区域可以为任意形状。
且,可选地,用户可根据监控场景的实际情况,还可在人数统计子模块161中任意设置用于表示仅对该区预内人体头肩计数有效的智能分析子区域,此时,人数统计子模块161则可以仅确定当前图像的智能分析子区域内的人数。
以上是对本实施例中视频监控智能分析***的总体说明。下面,再对上述***中的部分模块分别进行详细说明。
1)前景检测模块101:
如图2所示,本实施例中的前景检测模块101中包括前景提取子模块111,用于按照现有任一种前景检测方式,利用前一帧图像的背景区域,从当前图像中检测包含运动物体的前景区域;背景存储子模块110,用于存储前一帧图像的背景区域。其中,在视频监控的第一帧图像作为当前图像时,整幅图像均为前景区域;而对除第一帧图像之外的后续其他帧图像作为当前图像时,通常只有一部分为前景区域、而剩余的另一部分则为背景区域。
这样,由于将除第一帧图像之外的每帧图像作为当前图像时,前景提取子模块111均需要利用该帧图像的前一帧图像的背景区域,因此,为了实现对背景区域的更新、以及如前所述的对检测到的前景区域中的运动物体进行预测跟踪,本实施例中的前景检测模块101还可以包括:
运动估计子模块112,用于基于像素块的方式,将前一帧图像中的各运动物体与当前图像中各运动物体进行像素匹配,并根据像素匹配的运动物体在前一帧图像与当前图像中的位置差,估算出前一帧图像中各运动物体的平移矢量速度;
聚类处理子模块113,用于对前景提取子模块111得到的前景区域中的各运动物体进行聚类处理;聚类处理子模块114为可选的子模块;
预测跟踪子模块114,用于根据估算出的前一帧图像中各运动物体的平移矢量速度,直接确定、或根据前一帧图像中各运动物体的聚类处理结果来确定前一帧图像中各运动物体的预测跟踪位置,并将前一帧图像中各运动物体的预测跟踪位置与当前图像中各运动物体的实际位置进行匹配,以确定前一帧图像中各运动物体在当前图像中分别对应的运动物体、以及新出现在当前图像中的运动物体;
背景更新子模块115,用于将当前图像中在前M帧图像中均未移动的运动物体设置为当前图像的背景、M为大于等于1的正整数,并更新至背景存储子模块110中,以供所述前景提取子模块111从下一帧图像中检测包含运动物体的前景区域时使用。
2)头肩检测模块102:
在本实施例中,可采用三级检测过滤的方式实现对人体头肩的检测。其中,第一级检测过滤利用“人体头肩/非人体头肩”的二类分类器来实现,并针对未经灰度归一化处理的候选窗口、通过哈尔(Haar)微特征进行第一级检测过滤;第二级检测过滤也利用“人体头肩/非人体头肩”的二类分类器来实现,针对经灰度归一化处理的候选窗口、通过Haar微特征进行第二级检测过滤;而第三级还是利用人体头肩/非人体头肩”的二类分类器来实现,针对第二级检测过滤后的候选窗口、但通过Haar微特征的分布规律而不是Haar微特征本身来进行第三级检测过滤。
上述“人体头肩/非人体头肩”的二类分类器可以确定某个尺度的矩形候选窗口是否是人体头肩。设矩形候选窗口长为m,宽为n,则相应地,人体头肩检测的流程可以为:在输入的图像中穷举搜索和判别所有大小为m×n像素的窗口作为候选窗口,将各个候选窗口输入到“人体头肩/非人体头肩”分类器中,即可留下识别为人体头肩的候选窗口。“人体头肩/非人体头肩”的二类分类器在本文中简称为“分类器”。
本实施例所需的第一级分类器、第二级分类器、第三级分类器均可利用现有人脸检测技术中成熟的Adaboost理论来实现。具体来说,AdaBoost理论是一种将任意强于随机猜测的弱分类器组合成强分类器的通用算法,因此,本实施例结合基于AdaBoost理论的一种Haar微特征选择的现有方法,将多个基于单个特征的弱分类器组成为一个强分类器,然后将多个强分类器级联成一个完整的“人体头肩/非人体头肩”的二类分类器,即本实施例所需的第一级分类器、第二级分类器、第三级分类器。本领域技术人员均可实现,在此不再赘述。
参见图3,第一级分类器、第二级分类器、第三级分类器由n层上述强分类器级联而成,在第一级分类器、第二级分类器、第三级分类器检测时,如果n层强分类器中的某一层强分类器判别一个候选窗口为(False)假,则排除此窗口而不进行进一步的判别,如果输出为(True)真,则使用下一层更复杂的强分类器对该窗口进行判别。也就是说,每一层强分类器都能让几乎全部人体头肩的正样本通过,而拒绝大部分非人体头肩的反样本。这样输入低层强分类器的候选窗口就多,而输入高层的候选窗口大大减少。
需要说明的是,第一级分类器可以是通过从多个人体头肩正样本和多个人体头肩反样本中抽取Haar微特征和灰度均值特征、并基于Adaboost算法识别抽取的Haar微特征和灰度均值特征而训练得到的;由于第二级分类器针对的是经灰度归一化处理的候选窗口,因此,第二级分类器的训练无需灰度均值特征,而可以是只通过从多个人体头肩正样本和多个人体头肩反样本中抽取Haar微特征、并基于Adaboost算法识别抽取的Haar微特征而训练得到;而第三级分类器可以是通过从多个人体头肩正样本和多个人体头肩反样本中抽取Haar微特征、并基于Adaboost算法识别抽取的Haar微特征的分布规律而训练得到。
较佳地,在本实施例中,第一级分类器和第二级分类器所抽取的Haar微特征,包括如图4左侧的所示的6种Haar微特征,而第一级分类器所抽取的灰度均值特征则为如图4最右侧所示的1种灰度均值特征。上述6种Haar微特征在图4中从左至右依次为:
第一类Haar微特征,表示左右相邻的一个黑色区域与一个白色区域之间的像素灰度均值差(在图4中黑色区域位于右侧,但实际不限于此);
第二类Haar微特征,表示上下相邻的一个黑色区域与一个白色区域之间的像素灰度均值差(在图4中黑色区域位于下侧,但实际不限于此);
第三类Haar微特征,表示一个黑色区域分别与其左右两侧相邻的各一个白色区域之间的像素灰度均值(当然,也可以是一个白色区域分别与其左右两侧相邻的各一个黑色区域之间的像素灰度均值);
第四类Haar微特征,表示两个对角相连的黑色区域与相邻两个对角相连的白色区域之间的像素灰度均值差;
第五类Haar微特征,表示一个黑色区域与其右上侧对角相连的一个白色区域之间的像素灰度均值差;
第六类Haar微特征,一个黑色区域与其左上侧对角相连的一个白色区域之间的像素灰度均值差。
对于如图4所示的6种Haar微特征,本实施例计算图像中对应黑色区域和白色区域内像素灰度均值的差值得到特征;对于灰度均值特征,本实施例则计算矩形框内所有像素的均值。
其中,上述黑色区域通常表示人体头肩的背景图像,而上述白色区域则通常表示人体头肩;且,如图4所示的6种组微特征中,黑色区域或者白色区域的长、宽可以任意选择,只需不超过候选窗口的尺寸即可。
与第一级分类器和第二级分类器不同的是,本实施例中的第三级分类器所抽取的6种Haar微特征,则可以只包括上述6种Haar微特征中的第一类、第二类、第五类、以及第六类Haar微特征;且,第三级分类器还考虑了候选窗口中任意划分的每一个区域内在不同方向的Haar微特征分布规律,该Haar微特征分布能够反应人体头肩的某个区域内在各个方向的边界强度。相应地,第三级分类器抽取的Haar微特征分布规律包括:
候选窗口中任意区域内的第一类Haar微特征绝对值之和与该区域内的第一、二、五、六类Haar微特征绝对值总和的商;
候选窗口中任意区域内的第二类Haar微特征绝对值之和与该区域内的第一、二、五、六类Haar微特征绝对值总和的商;
候选窗口中任意区域内的第五类Haar微特征绝对值之和与该区域内的第一、二、五、六类Haar微特征绝对值总和的商;
候选窗口中任意区域内的第六类Haar微特征绝对值之和与该区域内的第一、二、五、六类Haar微特征绝对值总和的商。
上述分布规律还可以采用如下表示方式:
假设在候选窗口中的任意区域内,第一类Haar微特征绝对值之和、第二类Haar微特征绝对值之和、第五类Haar微特征绝对值之和、以及第六类Haar微特征Haar微特征绝对值之和表示为Shaar(i),i=0,1,2,3,则该区域内的上述四个特征分布规律则表示为
其中,本实施例中所选的区域的长、宽可任意选择,只需不超过候选窗口的尺寸即可。
此外,对于上述结构的第一级分类器、第二级分类器、第三级分类器,还需要利用大量的人体头肩正样本和人体头肩反样本预先进行训练。而且,本实施例为了保证对所有人体头肩正样本和人体头肩反样本被处理时处于同等条件,在进行训练之前可以先设定样本搜索窗口的尺寸,例如19×19,然后由第一级分类器和第二级分类器利用设定尺寸的样本搜索窗口对所有人体头肩正样本和人体头肩反样本进行裁剪和尺寸归一化处理,得到尺寸相同的人体头肩正样本和人体头肩反样本。
这样,如图5所示,基于本实施例方法部分所提供的基于三级分类器方式的工作原理,头肩检测模块102包括:
窗口搜索子模块121,用于在当前图像的前景区域中搜索得到候选窗口;较佳地,为了尽可能保证输入图像中所有可能的候选窗口不会被遗漏,窗口搜索子模块521的处理过程可具体包括:先对输入的图像进行镜像、例如1.05倍尺寸放大或0.95倍尺寸缩小等预设比例的缩放、例如±10度等预设角度的旋转;然后在输入的图像、以及进行所述缩放、所述旋转后的图像中,以穷举的方式搜索得到不同尺寸的若干候选窗口;最后,再将不同尺寸的若干候选窗口进行尺寸归一化处理,得到预设标准尺寸的若干候选窗口;此外,对于如前文所述,用户可根据监控场景的实际情况任意设置用于表示仅对该区预内人体头肩计数有效的智能分析子区域、和/或用于计数的人体头肩的尺寸,此时,窗口搜索子模块521骤则可根据预设智能分析子区域的位置、尺寸和形状仅在当前图像的部分前景区域中执行搜索,和/或在执行搜索时仅搜索符合预设人体头肩尺寸的候选窗口;
利用预先通过若干人体头肩正样本和反样本训练得到的第一级分类器122,用于从搜索得到的所有候选窗口分别抽取Haar微特征和灰度均值特征,并根据抽取的Haar微特征和灰度均值特征对搜索得到的所有候选窗口进行第一级检测过滤;其中,第一级分类器122从每个候选窗口抽取的Harr微特征中黑色区域或者白色区域的长、宽可以任意选择,只需不超过候选窗口的尺寸即可;Harr微特征中的位置也可任意选择;
灰度归一化子模块123,用于对第一级检测过滤后剩余的候选窗口进行灰度归一化处理;
利用预先通过若干人体头肩正样本和反样本训练得到的第二级分类器124,用于从灰度归一化处理后的所有候选窗口分别抽取Haar微特征,并根据抽取的Haar微特征对灰度归一化处理后的所有候选窗口进行第二级检测过滤;其中,第二级分类器124从每个候选窗口抽取的Harr微特征中黑色区域或者白色区域的长、宽可以任意选择,只需不超过候选窗口的尺寸即可;Harr微特征中的位置也可任意选择;
利用预先通过若干人体头肩正样本和反样本训练得到的第三级分类器125,用于从第二级检测过滤后剩余的所有候选窗口中分别抽取Haar微特征,然后依据如前所述的抽取的Haar微特征的分布规律,对第二级检测过滤后剩余的所有候选窗口进行第三级检测过滤;其中,第三级分类器125所抽取的Haar微特征可以包括图4中所示的第一、二、五、六类Haar微特征;
窗口合并子模块126,用于将第三级检测过滤后剩余的所有候选窗口中,相邻的多个候选窗口进行合并;其中,这里所述的相邻可以是指:相互之间的尺寸差异小于预设尺寸差异阈值、和/或位置差异小于预设位置差异阈值、和/或重叠面积大于预设重叠面积阈值;且,窗口合并子模块126为可选的;
结果判定子模块127,用于将所述合并得到的候选窗口确定为包括人体头部和肩部的人体头肩。
3)运动估计模块104:
本实施例中,运动估计模块104可采用像素匹配方式的工作原理实现运动估计,即运动估计模块104将前一帧图像中的各人体头肩与当前图像中各人体头肩进行像素匹配,并根据像素匹配的人体头肩在前一帧图像与当前图像中的位置差,估算出前一帧图像中各人体头肩的平移矢量速度。
4)预测跟踪模块105:
对于本实施例中的预测跟踪模块105,如果其基于位置匹配方式的工作原理来实现预测跟踪,则该预测跟踪模块105需要根据估算出的前一帧图像中各人体头肩的平移矢量速度确定前一帧图像中各人体头肩的预测跟踪位置,并将前一帧图像中各人体头肩的预测跟踪位置与当前图像中各人体头肩的实际位置进行匹配,以确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩、以及新出现在当前图像中的人体头肩。其中,如果前一帧图像中的任意人体头肩,在当前图像中存在位置匹配的人体头肩,则可确定前一帧图像中的该人体头肩在当前图像中对应与其位置匹配的人体头肩;如果前一帧图像中的任意人体头肩,在当前图像中不存在位置匹配的人体头肩,则确定前一帧图像中的该人体头肩暂时消失;如果当前图像中的任意人体头肩没有与之匹配的前一帧图像中的人体头肩,则确定当前图像中的该人体头肩为新出现在当前图像中的人体头肩。
例如,预测跟踪模块105在前一帧图像中各人体头肩的预测跟踪位置处设置相应的预测矩形框,并在当前图像中各人体头肩的实际位置处设置相应的检测矩形框;然后分别计算各预测矩形框与每个检测矩形框的重叠面积,重叠面积越大,则表示对应的检测矩形框所在位置越有可能是该预测矩形框所对应人体头肩在当前图像中的位置,因此,将与每个预测矩形框重叠面积最大的一个检测矩形框,分别确定为该预测矩形框位置匹配的检测矩形框,然后依据位置匹配的预测矩形框和检测矩形框,确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩。即,预测跟踪模块105将与前一帧图像中每个人体头肩的预测矩形框重叠面积最大的检测矩形框所对应的当前图像中的人体头肩,分别确定为前一帧图像中人体头肩的在当前图像中分别对应的人体头肩;预测跟踪模块105将当前图像中,未在前一帧图像中找到重叠预测矩形框的检测矩形框所对应的人体头肩,确定为在当前图像中新出现的人体头肩。
此外,前一帧图像中的每个人体头肩通常只能对应一个检测矩形框,一个检测矩形框通常也只能对应前一帧图像中的一个人体头肩。那么如前一帧图像中的某个人体头肩未对应任何一个检测矩形框、即该人体头肩的预测矩形框与当前图像中的所有监测矩形框均无重叠,则预测跟踪模块105认为前一帧图像中的该人体头肩在当前图像中暂时消失。但是,在本实施例中并不立即删除该人体头肩、而是仍然跟踪前一帧图像中的该人体头肩,在将后续的每帧图像作为当前图像执行本步骤时,根据该人体头肩的平移速度继续更新该人体头肩的预测矩形框,如连续P帧图像中该预测矩形都没重叠的检测矩形框,P为大于1的正整数,再确定该人体头肩已经消失,否则认为该人体头肩重新出现。
需要说明的是,在上述视频监控智能分析***中,前景检测模块101、头肩检测模块102、图像存储模块103、运动估计模块104、以及预测跟踪模块105可脱离其他功能模块而构成能够实现人体头肩检测和跟踪的头肩检测跟踪***。
以上是对本实施例中视频监控智能分析***的详细说明。下面,再对本实施例中视频监控智能分析方法进行说明。
图6为本发明实施例中视频监控智能分析方法的示例性流程图。如图6所示,本实施例中视频监控智能分析方法依次接收视频监控图像中的每一帧图像,并依次将每帧图像作为当前图像执行如下步骤:
步骤601,利用前一帧图像的背景区域,从当前图像中检测包含运动物体的前景区域。
在本步骤中,可以采用现有的任一种前景检测方式,在此不再一一赘述。
步骤602,在当前图像的前景区域中进行人体头肩检测,确定当前图像中的各人体头肩。
在本步骤中,可以按照现有任一种人体头肩检测方式实现人体头肩检测;当然,也可以按照本实施例中提出的一种基于三级分类器的方式实现人体头肩检测。其中,本实施例所提出的基于两级分类器实现人体头肩检测的方式请详见后文。
需要说明的是,由于步骤601在当前图像中检测出了包含运动物体的前景区域,而本实施例实现人数统计所依据的人体头肩必定属于运动物体,因此,在本步骤中可以仅在前景区域中进行人体头肩检测、而无需在不可能出现人体的背景区域进行人体头肩检测,从而能够排除不必要的检测过程、以提高人数统计的效率。
当然,上述步骤601仅仅为可选的步骤,如果不执行步骤601,则本步骤需要在当前图像的整帧中进行人体头肩检测,但这样仅仅是额外进行了不必要的检测过程,而不会对人体头肩检测结果造成实质性的影响。
此外,可选地,用户可根据监控场景的实际情况任意设置用于表示仅对该区预内人体头肩计数有效的智能分析子区域、和/或用于计数的人体头肩的尺寸。此时,本步骤则可根据预设智能分析子区域的位置、尺寸和形状仅在当前图像的部分前景区域中执行人体头肩检测,和/或在执行人体头肩检测时仅检测符合预设人体头肩尺寸的人体头肩。其中,上述的任意设置是指,在任意位置设置智能分析子区域、且设置的智能分析子区域可以为任意形状。
步骤603,利用当前图像、以及当前图像中各人体头肩的位置,估算出前一帧图像中各人体头肩的平移矢量速度。
在本步骤中,可以采用现有任意一种运动估计方式;当然,也可以采用本实施例所提供的一种像素匹配方式。其中,本实施例所提出的像素匹配方式请详见后文。
步骤604,根据前一帧图像中各人体头肩的平移矢量速度,对前一帧图像中各人体头肩进行预测跟踪,确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩,同时还确定新出现在当前图像中的人体头肩、以供对下一帧图像执行所述步骤603和604时使用。
在本步骤中,可以采用现有任一种预测跟踪方式,也可以采用本实施例中所提供的一种基于位置匹配的方式来实现。其中,本实施例所提出的基于位置匹配的方式请详见后文。
步骤605,对前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的行为进行智能分析。
在本步骤中的智能分析可至少包括:
根据前一帧图像中各人体头肩的数量、和/或前一帧图像中各人体头肩在当前图像中分别对应的人体头肩的数量,确定当前图像中的人数;
以及,根据步骤603得到的平移矢量速度,分析当前图像中各人体头肩的动作,得到表示人是否摔倒等动作分析结果。
其中,对于本步骤如何确定当前图像中的人数,可以由本领域技术人员根据场景的实际情况和需要来任意设定,并参见***部分所举实例,在此不再一一赘述。且,较佳地,为了避免虚景,本步骤所确定的当前图像中的人数仅包括:在连续N帧图像中均出现的人体头肩的数量,其中,N为大于等于2的正整数。
可选地,用户可根据监控场景的实际情况任意设置用于表示仅对该区预内人体头肩计数有效的智能分析子区域。此时,本步骤则可以仅确定当前图像的智能分析子区域内的人数。
而对于本步骤如何实现动作分析,则可以按照现有方式来实现。
步骤606。在步骤605得到的智能分析结果触发预设报警规则时,产生报警信号。
此外,本实施例中可选的步骤601还可进一步包括:对检测到的前景区域中的运动物体进行预测跟踪。相应地,在步骤601之后,本流程还可以对运动物体的预测跟踪结果所表示的事件进行智能分析,例如基于预设监控配置参数所表示的现有任一种监控功能,对运动物体的预测跟踪结果进行智能分析。这种情况下,本步骤可以进一步在对运动物体预测跟踪结果的智能分析结果触发预设报警规则时、即在场景中发生的事件触发预设报警规则时,产生报警信号。
对于本步骤中如何判断场景中人的行为、以及场景中发生的事件是否触发上述预设报警规则,本领域技术人员可以利用现有智能分析技术,根据场景的具体情况及需要来任意设定。参见本实施例中***部分所举的实例,在此不再一一赘述。
需要说明的是,本步骤为可选的步骤,即智能分析后并非一定要报警。
至此,本流程结束。
具体来说,在上述流程的步骤601中:
在将第一帧图像作为当前图像执行步骤601时,整幅图像均为前景区域;而将对除第一帧图像之外的后续其他帧图像作为当前图像执行步骤601时,通常只有一部分为前景区域、而剩余的另一部分则为背景区域。
这样,由于将除第一帧图像之外的每帧图像作为当前图像时,均需要利用该帧图像的前一帧图像的背景区域执行步骤601,因此,为了实现对背景区域的更新、以及如前所述的对检测到的前景区域中的运动物体进行预测跟踪,本实施例中的步骤601可以在从当前图像中检测包含运动物体的前景区域之后,进一步可选地对检测到的前景区域进行运动估计和预测跟踪、以识别出连续在多帧图像中出现的静止物体并更新背景区域,从而提高人数统计的精度。
具体来说,对检测到的前景区域进行运动估计可以采用现有任一种运动估计方式,也可以采用本实施例所提出的一种像素匹配方式,该方式包括:基于像素块的方式,将前一帧图像中的各运动物体与当前图像中各运动物体进行像素匹配,并根据像素匹配的运动物体在前一帧图像与当前图像中的位置差,估算出前一帧图像中各运动物体的平移矢量速度。
而对于检测到的前景区域进行预测跟踪,则可以采用现有任一种预测跟踪方式,也可以采用本实施例所提出的基于位置匹配的方式来实现,该方式包括:根据估算出的前一帧图像中各运动物体的平移矢量速度,直接确定、或根据前一帧图像中各运动物体的聚类处理结果来确定前一帧图像中各运动物体的预测跟踪位置,并将前一帧图像中各运动物体的预测跟踪位置与当前图像中各运动物体的实际位置进行匹配,以确定前一帧图像中各运动物体在当前图像中分别对应的运动物体、以及新出现在当前图像中的运动物体。
此后,即可将当前图像中在前M帧图像中均未移动的运动物体设置为当前图像的背景、M为大于等于1的正整数,以供从下一帧图像中执行步骤101时使用。
具体来说,在上述流程的步骤602中:
本实施例可利用***部分所述的三级分类器的方式实现人体头肩检测。这样,如图7所示,步骤602的具体处理过程就可以包括:
步骤602a、在当前图像的整帧、或当前图像的前景区域中搜索得到候选窗口。
较佳地,为了尽可能保证输入图像中所有可能的候选窗口不会被遗漏,本步骤中的处理过程可具体包括:先对输入的图像进行镜像、例如1.05倍尺寸放大或0.95倍尺寸缩小等预设比例的缩放、例如±10度等预设角度的旋转;然后在输入的图像、以及进行所述缩放、所述旋转后的图像中,以穷举的方式搜索得到不同尺寸的若干候选窗口;最后,再将不同尺寸的若干候选窗口进行尺寸归一化处理,得到预设标准尺寸的若干候选窗口。
这样,可最大限度地避免不同角度或不同大小的候选窗口被遗漏;还可保证在后续的处理过程中,对所有候选窗口采用同等条件的处理。
此外,对于如前文所述,用户可根据监控场景的实际情况任意设置用于表示仅对该区预内人体头肩计数有效的智能分析子区域、和/或用于计数的人体头肩的尺寸。此时,本步骤则可根据预设智能分析子区域的位置、尺寸和形状仅在当前图像的部分前景区域中执行搜索,和/或在执行搜索时仅搜索符合预设人体头肩尺寸的候选窗口。
步骤602b、利用预先通过若干人体头肩正样本和反样本训练得到的第一级分类器,从搜索得到的所有候选窗口分别抽取Haar微特征和灰度均值特征,并根据抽取的Haar微特征和灰度均值特征对搜索得到的所有候选窗口进行第一级检测过滤。
由于所有候选窗口经灰度归一化处理后,有可能存在某些非人体头肩的候选窗口与实际为人体头肩的候选窗口的灰度分布相类似,区分较为困难,因此,本步骤先不对所有候选窗口进行灰度归一化处理、并通过第一级检测过滤将上述的某些非人体头肩的候选窗口排除掉,以减少后续为区分上述的某些非人体头肩的候选窗口的处理,因而能够提高人体头肩检测的效率,进而提高智能分析的效率。
需要说明的是,本步骤中从每个候选窗口抽取的Harr微特征的种类数量可任意设定,也可为如图4所示的6种Harr微特征;Harr微特征中黑色区域或者白色区域的长、宽可以任意选择,只需不超过候选窗口的尺寸即可;Harr微特征中的位置也可任意选择。
步骤602c、对第一级检测过滤后剩余的候选窗口进行灰度归一化处理。
步骤602d、利用预先通过若干人体头肩正样本和反样本训练得到的第二级分类器,从灰度归一化处理后的所有候选窗口分别抽取Haar微特征,并根据抽取的Haar微特征对灰度归一化处理后的所有候选窗口进行第二级检测过滤。
虽然所有候选窗口经灰度归一化处理后,有可能存在某些非人体头肩的候选窗口与实际为人体头肩的候选窗口的灰度分布相类似、区分较为困难,但由于上述的某些非人体头肩的候选窗口已在第一次检测过滤时被排除掉,因此,从本步骤开始的后续步骤均避免了对上述的某些非人体头肩的候选窗口的处理,从而提高了人体头肩检测的效率,进而提高智能分析的准确度。
需要说明的是,本步骤中从每个候选窗口抽取的Harr微特征的种类数量可任意设定,也可为如图4所示的6种Harr微特征;Harr微特征中黑色区域或者白色区域的长、宽可以任意选择,只需不超过候选窗口的尺寸即可;Harr微特征中的位置也可任意选择。
步骤602e、利用预先通过若干人体头肩正样本和反样本训练得到的第三级分类器,从第二级检测过滤后剩余的所有候选窗口中分别抽取Haar微特征,然后依据如前所述的抽取的Haar微特征的分布规律,对第二级检测过滤后剩余的所有候选窗口进行第三级检测过滤。
需要说明的是,本步骤中从每个候选窗口抽取的Harr微特征的种类数量可任意设定,也可为如图4所示的6种Harr微特征中的第一、二、五、六类Haar微特征;且Haar微特征的分布规律如***部分所述,在此不再赘述。
步骤602f、将第三级检测过滤后剩余的所有候选窗口中,相邻的多个候选窗口进行合并。
本步骤所述的相邻可以是指:相互之间的尺寸差异小于预设尺寸差异阈值、和/或位置差异小于预设位置差异阈值、和/或重叠面积大于预设重叠面积阈值。
由于从输入图像中搜索得到的某些相邻候选窗口,实际上可能对应的是该输入图像中的同一个人体头肩,因此,为了避免对应同一个人体头肩的多个相邻候选窗口被分别识别为不同的人体头肩,由本步骤将相邻的多个候选窗口合并为一个、并由后续步骤仅针对合并后的候选窗口进行处理,以提高人体头肩检测的准确性,从而提高人数统计的精度;且,由于真实的人体头肩才可能对应多个候选窗口、而虚警的出现往往比较孤立,因此,如果后续步骤仅针对合并后的候选窗口进行处理,则能够避免将图像中的虚警误检测为人体头肩,从而能够再进一步地提高人体头肩检测的准确性,进而能够进一步提高智能分析的准确度。
当然,由于本步骤的作用主要是提高人体头肩检测的准确性,如果不执行本步骤仅仅是降低人体头肩检测的准确性、而不会妨碍人体头肩检测的实现,因此本步骤为可选的步骤。
步骤602g、将所述合并得到的候选窗口确定为包括人体头部和肩部的人体头肩。
至此,如图7所示的人体头肩检测过程的流程结束。
具体来说,在上述流程的步骤603中:
本实施例对于步骤603的具体处理过程,提出了一种像素匹配方式包括:基于像素块,将前一帧图像中的各人体头肩与当前图像中各人体头肩进行像素匹配,并根据像素匹配的人体头肩在前一帧图像与当前图像中的位置差,估算出前一帧图像中各人体头肩的平移矢量速度。
具体来说,在上述流程的步骤604中:
本实施例对于步骤604的具体处理过程,提供了一种基于位置匹配的方式包括:根据估算出的前一帧图像中各人体头肩的平移矢量速度确定前一帧图像中各人体头肩的预测跟踪位置,并将前一帧图像中各人体头肩的预测跟踪位置与当前图像中各人体头肩的实际位置进行匹配,以确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩、以及新出现在当前图像中的人体头肩。其中,如果前一帧图像中的任意人体头肩,在当前图像中存在位置匹配的人体头肩,则可确定前一帧图像中的该人体头肩在当前图像中对应与其位置匹配的人体头肩;如果前一帧图像中的任意人体头肩,在当前图像中不存在位置匹配的人体头肩,则确定前一帧图像中的该人体头肩暂时消失;如果当前图像中的任意人体头肩没有与之匹配的前一帧图像中的人体头肩,则确定当前图像中的该人体头肩为新出现在当前图像中的人体头肩。
例如,在前一帧图像中各人体头肩的预测跟踪位置处设置相应的预测矩形框,并在当前图像中各人体头肩的实际位置处设置相应的检测矩形框;然后分别计算各预测矩形框与每个检测矩形框的重叠面积,重叠面积越大,则表示对应的检测矩形框所在位置越有可能是该预测矩形框所对应人体头肩在当前图像中的位置,因此,将与每个预测矩形框重叠面积最大的一个检测矩形框,分别确定为该预测矩形框位置匹配的检测矩形框,然后依据位置匹配的预测矩形框和检测矩形框,确定前一帧图像中各人体头肩在当前图像中分别对应的人体头肩。即,将与前一帧图像中每个人体头肩的预测矩形框重叠面积最大的检测矩形框所对应的当前图像中的人体头肩,分别确定为前一帧图像中人体头肩的在当前图像中分别对应的人体头肩;将当前图像中,未在前一帧图像中找到重叠预测矩形框的检测矩形框所对应的人体头肩,确定为在当前图像中新出现的人体头肩。
此外,前一帧图像中的每个人体头肩通常只能对应一个检测矩形框,一个检测矩形框通常也只能对应前一帧图像中的一个人体头肩。那么如前一帧图像中的某个人体头肩未对应任何一个检测矩形框、即该人体头肩的预测矩形框与当前图像中的所有监测矩形框均无重叠,则认为前一帧图像中的该人体头肩在当前图像中暂时消失。但是,在本实施例中并不立即删除该人体头肩、而是仍然跟踪前一帧图像中的该人体头肩,在将后续的每帧图像作为当前图像执行本步骤时,根据该人体头肩的平移速度继续更新该人体头肩的预测矩形框,如连续P帧图像中该预测矩形都没重叠的检测矩形框,P为大于1的正整数,再确定该人体头肩已经消失,否则认为该人体头肩重新出现。
需要说明的是,如图6所示流程中的步骤601~步骤604,可脱离步骤605和606而构成能够实现人体头肩检测和跟踪的头肩检测跟踪方法。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。