发明内容
基于此,有必要提供一种移动侦测方法和装置,应用本方法和装置,能够提高移动侦测的准确性,并且兼顾性能和速度,无需太高的计算成本,尤其可以适用于嵌入式监控设备。
一种移动侦测方法,包括:
采用随机滤波算法建立视频图像的背景模型;
根据输入的视频图像,对背景模型进行更新,并获取对应的二值前景图,以及所述二值前景图对应的积分图;
利用积分矩形提取所述积分图中的运动区域;
对所述运动区域进行聚类,得到侦测的运动目标。
在其中一个实施例中,在所述采用随机滤波算法建立视频图像的背景模型的步骤之前,所述方法还包括:
设置视频图像中的待检测区域以及所检测的运动目标类型及其检测灵敏度;
所述利用积分矩形提取所述积分图中的运动区域,包括:
根据所述检测的运动目标类型及其检测灵敏度,确定所述积分矩形的大小及形状,再由所述确定的积分矩形提取所述积分图中的运动区域;
在对所述运动区域进行聚类之前,所述方法还包括:
判断所述运动区域是否在所述待检测区域中,若是,则确定所述运动区域为待聚类运动区域,若否,则舍弃所述运动区域。
在其中一个实施例中,所述采用随机滤波算法建立视频图像的背景模型,包括:
基于随机高斯滤波,初始化背景模型中任一像素点的模型元素为所述像素点预设N邻域内N×N×W个采样像素点的像素值的历史均值和历史方差,其中N为不小于3的奇数,稳定度参数W为0至1之间的常数,所述采样像素点的历史均值和历史方差以预设帧数的视频图像进行统计。
在其中一个实施例中,所述根据输入的视频图像,对背景模型进行更新,并获取对应的二值前景图,以及所述二值前景图对应的积分图的步骤,包括:
根据输入新视频图像后背景模型中各像素点对应的采样像素点的历史均值和历史方差的波动情况,判断所述像素点是否为前景点或背景点;
若所述像素点为前景点,则在所述二值前景图中,将所述像素点的前景数值取值为第一数值;
若所述像素点为背景点,则在所述二值前景图中,将所述像素点的前景数值取值为第二数值,并且更新背景模型中所述像素点所对应的随机N×N×(1-W)×α个采样像素点的历史均值和历史方差,以及随机更新所述像素点预设N邻域内N×N×(1-W)×α/2个像素点所对应的N×N×(1-W)×α/2个采样像素点的历史均值和历史方差,其中误差波动系数α为0至2之间的常数;
根据所述二值前景图计算积分图,所述积分图中任一像素点的元素值为所述像素点左上角所有像素点的前景数值的和。
在其中一个实施例中,所述利用积分矩形提取所述积分图中的运动区域,包括:
统计所述积分矩形中取值为第一数值的像素点的比例Ts,若比例Ts超过预设阀值Qs,则判定所述积分矩形所在的像素区域为运动区域,否则为非运动区域。
在其中一个实施例中,所述对所述运动区域进行聚类包括:
采用kmeans算法对所述运动区域进行聚类。
一种移动侦测装置,包括:
模型初始化模块,用于采用随机滤波算法建立视频图像的背景模型;
模型更新模块,用于根据输入的视频图像,对背景模型进行更新,并获取对应的二值前景图,以及所述二值前景图对应的积分图;
运动区域提取模块,用于利用积分矩形提取所述积分图中的运动区域;
聚类模块,用于对所述运动区域进行聚类,得到侦测的运动目标。
在其中一个实施例中,所述装置还包括设置模块,用于设置视频图像中的待检测区域以及所检测的运动目标类型及其检测灵敏度;
所述运动区域提取模块,还用于根据所述检测的运动目标类型及其检测灵敏度,确定所述积分矩形的大小及形状,再由所述确定的积分矩形提取所述积分图中的运动区域;
所述聚类模块,还用于判断所述运动区域是否在所述待检测区域中,若是,则确定所述运动区域为待聚类运动区域,进行聚类,若否,则舍弃所述运动区域。
在其中一个实施例中,所述模型初始化模块,具体用于基于随机高斯滤波,初始化背景模型中任一像素点的模型元素为所述像素点预设N邻域内N×N×W个采样像素点的像素值的历史均值和历史方差,其中N为不小于3的奇数,稳定度参数W为0至1之间的常数,所述采样像素点的历史均值和历史方差以预设帧数的视频图像进行统计;
所述模型更新模块,用于根据输入新视频图像后背景模型中各像素点对应的采样像素点的历史均值和历史方差的波动情况,判断所述像素点是否为前景点或背景点;若所述像素点为前景点,则在所述二值前景图中,将所述像素点的前景数值取值为第一数值;若所述像素点为背景点,则在所述二值前景图中,将所述像素点的前景数值取值为第二数值,并且更新背景模型中所述像素点所对应的随机N×N×(1-W)×α个采样像素点的历史均值和历史方差,以及随机更新所述像素点预设N邻域内N×N×(1-W)×α/2个像素点所对应的N×N×(1-W)×α/2个采样像素点的历史均值和历史方差,其中误差波动系数α为0至2之间的常数;所述模型更新模块,还用于根据所述二值前景图计算积分图,所述积分图中任一像素点的元素值为所述像素点左上角所有像素点的前景数值的和。
在其中一个实施例中,所述运动区域提取模块,用于统计所述积分矩形中取值为第一数值的像素点的比例Ts,若比例Ts超过预设阀值Qs,则判定所述积分矩形所在的像素区域为运动区域,否则为非运动区域;
所述聚类模块,用于采用kmeans算法对所述运动区域进行聚类。
上述移动侦测方法和装置,采用随机滤波算法建立视频图像的背景模型,相比于传统的建模算法,能够更有效地滤除噪声、抖动、光照变化带来的干扰,具有很好的鲁棒性,提高了检测准确率,并且无需经过数学形态学分析和连通域分析等复杂的计算,只需对背景模型进行更新,获取对应的二值前景图和积分图,利用积分矩形在积分图中提取出其中的运动区域,再对运动区域进行聚类,就可以获得完整的运动目标,兼顾了性能和成本,降低了计算成本,尤其可以适用于计算能力和存储能力有限的嵌入式监控设备。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,在一个实施例中提供了一种移动侦测方法,该方法可以应用于监控设备尤其是嵌入式监控设备中,该方法包括流程:
步骤102,采用随机滤波算法建立视频图像的背景模型。
具体的,相比于传统技术中背景建模通过图像中不动的部分进行建模而对抖动、光照比较敏感,本实施例采用随机滤波算法建立视频图像的背景模型。随机滤波算法可以选用高斯模型、贝叶斯模型、卡尔兹曼等模型,其中高斯模型最为稳定,适用性最高,通过随机滤波算法对视频图像进行背景建模,具体从像素变化的时间维度和空间维度进行建模,可以有效地滤除抖动、光照、噪声的影响,具有很好的鲁棒性。
步骤104,根据输入的视频图像,对背景模型进行更新,并获取对应的二值前景图,以及所述二值前景图对应的积分图。
在背景模型初始化之后,新输入一帧视频图像,根据背景模型中各像素点的时间维度和空间维度的变化幅度,判定背景模型中的前景点或背景点,对背景模型进行实时更新,并在背景模型对应的二值前景图中分别为前景点和背景点取值为不同的前景数值(二值前景图中,每一个像素点对应唯一一个前景数值),例如前置点的前景数值可以赋值第一数值,为非零数值,例如255,背景点的前景数值可以赋值为0。得到背景模型对应的二值前景图之后,可以通过积分运算(累加)得到积分图,积分图中每个像素点的元素值为该像素点左上角所有像素点(包括该像素点)的前景数值的和。
步骤106,利用积分矩形提取积分图中的运动区域。
具体的,积分矩形为一个n×m的像素矩形,其中n和m为像素宽、高,n、m为不小于2的整数,例如在本实施例可以默认设置为3×3或5×5的像素矩形。利用积分矩形计算其中的前景点积分图的第一数值的和,再通过除法运算得到前景点在积分矩形中所有像素点的比例,若比例超过预定义阀值,则判定该积分矩形所在的像素区域为一个运动区域。
步骤108,对运动区域进行聚类,得到侦测的运动目标。
具体的,在本实施例中,通过积分矩形提取积分图中的运动区域后,对各个运动区域进行聚类,去除重合像素点等,得到完整的运动目标。在本实施例中,得到完整的侦测目标后,可以进行声光报警等。
上述移动侦测方法,采用随机滤波算法建立视频图像的背景模型,相比于传统的建模算法,能够更有效地滤除噪声、抖动、光照变化带来的干扰,具有很好的鲁棒性,提高了检测准确率,并且无需经过数学形态学分析和连通域分析等复杂的计算,只需对背景模型进行更新,获取对应的二值前景图和积分图,利用积分矩形在积分图中提取出其中的运动区域,再对运动区域进行聚类,就可以获得完整的运动目标,兼顾了性能和成本,降低了计算成本,尤其可以适用于计算能力和存储能力有限的嵌入式监控设备。
参见图2,在一个实施例中也提供了一种移动侦测方法,该方法包括流程:
步骤202,设置视频图像中的待检测区域以及所检测的运动目标及其检测灵敏度。
具体的,在本实施例中,根据监控的不同应用场景和范围,用户可以选择视频图像中不同大小的待检测区域,以及所检测的运动目标类型及其检测灵敏度。其中,用户选择待检测区域可以通过折线选择视频图像中的任意多边形,或者用户通过在视频图像界面输入任意曲线,再由多边形判别算法进行多边形拟合,得到任意形状的多边形待检测区域,待检测区域决定了检测目标是否为有效目标,例如当检测的目标不在待检测区域中,不会进行声光报警。所检测的运动目标类型,根据不同的应用场景,例如可以是人、车、船等。检测灵敏度可以设置为3至5个等级,为便于用户操作,可以概括为“非常灵敏”、“灵敏”、“不灵敏”等等级,在本实施例中,检测目标类型和检测灵敏度,决定了n×m积分矩形的大小和形状。检测目标的类型与n与m的比例有关,例如检测行人,n/m≈1/3,而检测车辆n/m≈1。n和m的大小与灵敏度成反比,即灵敏度越高,n和m越小。
步骤204,采用随机滤波算法建立视频图像的背景模型。
本实施例采用高斯模型,基于时间维度和空间维度对视频图像进行背景建模。具体的,初始化背景模型中任一像素点的模型元素为像素点预设N邻域内随机选取的N×N×W个采样像素点的像素值的历史均值和历史方差,其中N为不小于3的奇数,稳定度参数W为0至1之间的常数,采样像素点的历史均值和历史方差以预设帧数的视频图像进行统计。例如在本实施例中,可以对背景模型中任一像素点对其5邻域内5×5×0.6=15个采样像素点进行统计(视频图像边缘2宽度像素内的像素点不参与建模,对应二值前景图中可以归为背景点),稳定度参数W取值为0.6,根据不同的场景,W可以进一步调整,以达到更好地抑制噪声的效果,从而让背景模型更稳定。背景模型中任一像素点的模型元素就对应着上述15个采样像素点的像素值的历史均值和历史方差,历史均值和历史方差可以但不限于以连续的25帧视频图像进行统计。由此,建立的背景模型中既包含了空间维度和时间维度。
步骤206,根据输入的视频图像,对背景模型进行更新,并获取对应的二值前景图,以及所述二值前景图对应的积分图。
本实施例中,背景模型初始化之后,新输入一帧视频图像后,根据背景模型中各像素点对应的采样像素点的历史均值和历史方差的波动情况,判断各像素点是否为前景点或背景点。具体的,设新输入一帧视频图像前,背景模型中某一点P对应的N×N×W个采样像素点的历史均值和历史方差分别为M1、M2……D1、D2等,输入新一帧视频图像后,采样像素点的历史均值和历史方差分别为M′1、M′2……D′1、D′2等,统计历史均值差值|M′i-Mi|和历史方差波动
均超过阀值TM和TD的个数NQ,若NQ>Tnq,则该像素点为前景点,在二值前景图中为其前景数值赋值为第一数值,为非零数值,如255,否则,则该像素点为背景点,在二值前景图中,为其前景数值赋值为0,其中i=1,2…,Tnq为预设的波动判别阀值,与采样像素点的个数有关。
当判定背景模型中的像素点为背景点时,需要更新背景模型,从该像素点对应的N×N×W个采样像素点中随机选取N×N×(1-W)×α个第一像素点,并更新这些第一像素点的历史均值和历史方差,并从第一像素点所对应的N邻域内N×N×W个像素点内,选取N×N×(1-W)×α/2个第二像素点,并更新第二像素点对应的N邻域内N×N×(1-W)×α/2个采样像素点历史均值和历史方差。
得到二值前景图之后,再根据二值前景图计算积分图,积分图中任一像素点(x,y)的元素值为该像素点左上角所有像素点(包括该像素点)的前景数值的和I(x,y)。
步骤208,根据检测的运动目标类型及其检测灵敏度,确定积分矩形的大小及形状,再由确定的积分矩形提取积分图中的运动区域。
具体的,检测区域由多边形判别算法来确定。检测目标类型和检测灵敏度,决定了n×m积分矩形的大小和形状。
计算积分矩形中第一数值的和,再通过除法运算得到第一数值的比例Ts,例如第一数值为非零数值255,第二数值为0时,Ts=Qs/Ss,其中Qs为积分矩形中所有像素点对应的二值前景图前景数值的和,Ss=n×m×255。Qs可以通过查询积分图计算得到,具体的,Qs=I(x4,y4)-I(x3,y3)-I(x2,y2)+I(x1,y1),其中(x1,y1)和(x4,y4)分别为积分矩形左上角和右下角像素点,(x2,y2)和(x3,y3)为积分矩形右上角和左下角像素点。当比例Ts超过预设阀值Ts′,则判定积分矩形所在的像素区域为运动区域,否则为非运动区域。
步骤210,判断提取的运动区域是否在待检测区域中。
若是,执行步骤212,若否执行步骤214。
步骤212,确定所提取的运动区域为待聚类运动区域,进行聚类。
具体的,本实施例中,采用kmeans算法对运动区域进行聚类。
步骤214,舍弃该运动区域。
参见图3,在一个实施例中,提供了一种移动侦测装置,该装置包括:
模型初始化模块302,用于采用随机滤波算法建立视频图像的背景模型。
模型更新模块304,用于根据输入的视频图像,对背景模型进行更新,并获取对应的二值前景图,以及所述二值前景图对应的积分图。
运动区域提取模块306,用于利用积分矩形提取积分图中的运动区域。
聚类模块308,用于对运动区域进行聚类,得到侦测的运动目标。
本实施例对移动侦测装置进一步进行了功能扩展,该移动侦测装置还包括设置模块310,用于设置视频图像中的待检测区域以及所检测的运动目标类型及其检测灵敏度。
本实施例提供的移动侦测装置,其工作原理如下:
设置模块310,用于设置视频图像中的待检测区域以及所检测的运动目标类型及其检测灵敏度。
模型初始化模块302,具体用于基于随机高斯滤波,初始化背景模型中任一像素点的模型元素为像素点预设N邻域内N×N×W个采样像素点的像素值的历史均值和历史方差,其中N为不小于3的奇数,稳定度参数W为0至1之间的常数,采样像素点的历史均值和历史方差以预设帧数的视频图像进行统计。
模型更新模块304,用于根据输入新视频图像后背景模型中各像素点对应的采样像素点的历史均值和历史方差的波动情况,判断像素点是否为前景点或背景点;若像素点为前景点,则在二值前景图中,将像素点的前景数值取值为第一数值;若像素点为背景点,则在二值前景图中,将像素点的前景数值取值为第二数值,并且更新背景模型中像素点所对应的随机N×N×(1-W)×α个采样像素点的历史均值和历史方差,以及随机更新像素点预设N邻域内N×N×(1-W)×α/2个像素点所对应的N×N×(1-W)×α/2个采样像素点的历史均值和历史方差,其中误差波动系数α为0至2之间的常数。模型更新模块304,还用于根据二值前景图计算积分图,积分图中任一像素点的元素值为该像素点左上角所有像素点(包括该像素点)的前景数值的和。
运动区域提取模块306,还用于根据检测的运动目标类型及其检测灵敏度,确定积分矩形的大小及形状,再由确定的积分矩形提取积分图中的运动区域。具体的,运动区域提取模块306,统计积分矩形中取值为第一数值的像素点的比例Ts,若比例Ts超过预设阀值Ts′,则判定积分矩形所在的像素区域为运动区域,否则为非运动区域。
聚类模块308,还用于判断运动区域是否在待检测区域中,若是,则确定所述运动区域为待聚类运动区域,进行聚类,若否,则舍弃所述运动区域。本实施例中,具体采用kmeans算法对运动区域进行聚类。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。