一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种改进的ViBe室内实时前景检测方法及存储介质

2022-06-12 00:03:01 来源:中国专利 TAG:

一种改进的vibe室内实时前景检测方法及存储介质
技术领域
1.本发明涉及移动目标检测领域,尤其涉及一种改进的vibe室内实时前景检测方法及存储介质。


背景技术:

2.近年来,视频监控技术被越来越多的应用于国家和社会公共安全、航空航天等重要领域以及许多民用领域。在无人值守的区域安装视频监控系统,可以有效地排除安全隐患,及时预警,避免事故的发生。目前普遍采用的智能视频监控算法以前景检测(移动目标检测,前景提取)算法为主,前景检测是从图像序列中提取前景目标的一种技术。
3.vibe算法是一种针对像素级建立背景模型并和当前帧作背景差分的前景检测算法。该算法利用像素在同一区域内具有相近像素值这一特点,仅选取视频的第一帧图像进行背景初始化。vibe算法包含背景建模、前景检测和背景模型更新三个步骤。在具体运用的过程中也面临一些挑战:(1)在实际的检测过程中会存在一些常见问题,如由于背景模型更新时采用的时空传播机制造成的“鬼影”、孔洞等不利现象;(2)由于室内空间的特殊性,人为的开关灯和窗户、拉窗帘等操作使用都会使室内的光照强度在全局上有一个较大的改变,因此算法必须对光照变化有着较好的鲁棒性,需要有一个较为综合的解决方案。


技术实现要素:

4.本发明要解决的主要技术问题是解决传统vibe算法造成的“鬼影”和孔洞问题以及对光照变化鲁棒性差的问题,为了解决上述问题,本发明提供了一种改进的vibe室内实时前景检测方法,在不牺牲原vibe算法对于前景检测的实时性的基础上,运用基于帧间变化率的随机因子调整策略有效抑制由于背景更新中时空传播机制造成的“鬼影”和和孔洞问题,并且通过基于帧间变化率和感知哈希算法的光照突变检测方法加强了算法对于光照突变的鲁棒性,相比vibe算法更适用于室内环境的前景检测。
5.根据本发明的一个方面,本发明提供了一种改进的vibe室内实时前景检测方法,包括以下步骤:
6.s1:接收视频流并进行解码、预处理,得到逐帧视频图像的灰度图像;
7.s2:监测当前帧视频图像的帧数,判断是否为视频首帧,若是,则进行前景检测算法的背景模型建立并进入s1,否则,进入s3;
8.s3:通过当前帧灰度图像与前一帧灰度图像计算帧间变化率;
9.s4:判断是否发生光照突变,若是,则重新进行s2中的背景模型建立并进入步骤s1,否则,进入s5;
10.s5:获取当前帧视频图像的前景检测结果;
11.s6:基于s3得到的帧间变化率,根据帧间变化率调整策略更新背景模型;
12.s7:判断是否存在下一帧视频图像,若是,则进入s1,否则,检测流程结束。
13.优选地,s1中,接收视频流并解码、预处理的步骤包括:
14.s11:接收视频流并进行解码,获得逐帧的视频图像队列;
15.s12:对视频图像队列中的单帧视频图像进行灰度化转换,得到单帧视频图像的灰度图;
16.s13:利用高斯、中值滤波对灰度图去噪,得到去噪后的灰度图。
17.优选地,s2中,背景模型的建立步骤包括:
18.s21:获取视频的第一帧灰度图像,为每一像素点构建一个最大容量为n的样本集合;
19.s22:每一像素点随机选取自身八邻域的像素的灰度值加入样本集合中,直到样本集容量到达上限;
20.样本集的表达式如下:
21.sample(x,y)={vi|i=1,2...n}
22.式中,sample(x,y)为像素的样本集,(x,y)为任一像素的笛卡尔坐标值,vi为样本,n为样本个数。
23.优选地,s3中,计算帧间变化率的步骤包括:
24.s31:选取当前帧灰度图像与前一帧灰度图像,对笛卡尔坐标系下相同位置的像素点进行差值运算并且取其绝对值,得到差分灰度图,公式如下:
25.d(x,y)=|fk(x,y)-fk-1(x,y)|
26.式中,d(x,y)为得到的差分灰度图,fk(x,y)为当前帧灰度图像,fk-1(x,y)为前一帧灰度图像;
27.s32:判断所述差分灰度图中每一像素点的灰度值的绝对值是否大于阈值t,若是,则修改其灰度值为255,否则,设置为0;
28.s33:统计差分灰度图中灰度值为255的像素个数为num1,图像总像素个数为num2,计算帧间变化率p=num1/num2
×
100%。
29.优选地,s4中,判断是否发生光照突变的方法包括:
30.s41:判断由s33计算出的帧间变化率p的数值是否大于阈值tlight,若是,则进入s42,否则,判断未发生光照突变;
31.s42:运用感知哈希算法比较当前帧灰度图像与s31得到的差分灰度图,判断两张图像的汉明距离是否大于阈值tenter,若是,则判断未发生光照突变,否则,判断为发生了光照突变。
32.优选地,s5中,获取前景检测结果的步骤包括:
33.s51:对于当前帧灰度图像,将每一像素点x的灰度值与其对应的样本集sample(x,y)中的n个灰度值进行对比,判断样本集sample(x,y)中是否存在#min个及以上灰度值与像素点x的灰度值的二维欧氏距离小于距离阈值r,若是,则将该像素的灰度值设为255,否则,设置为0,#min表示设定的前景检测阈值,n表示样本个数;
34.s52:对经过s51处理的灰度图像进行形态学处理,得到形态学处理后的灰度图像。
35.优选地,s52中,形态学处理的步骤包括:
36.s521:对灰度值为255的像素进行连通性分析并计算连通区域的大小;
37.s522:对于连通区域面积小于9的像素区域,将每一像素灰度值设置为0;
38.s523:对灰度图像进行腐蚀和膨胀操作,得到形态学处理后的灰度图像。
39.优选地,s6中,基于s3得到的帧间变化率,根据帧间变化率调整策略更新背景模型的步骤包括:
40.s61:根据s3得到的帧间变化率获得随机因子θ;
41.s62:每个像素根据随机因子θ更新背景模型。
42.优选地,s62包括:
43.所有灰度值被设置为0的像素,有1/θ的几率更新自己和自己八邻域像素对应的样本集,具体的更新方式为:
44.将当前像素的灰度值随机替代当前像素对应的样本集中的一个灰度值;
45.将当前像素的灰度值随机替代当前像素的八个邻域像素对应的样本集中的一个灰度值。
46.根据本发明的另一方面,还提供了一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序运行时用于实现所述的改进的vibe室内实时前景检测方法的步骤。
47.本发明提供的技术方案具有以下有益效果:
48.在不损失vibe原算法的实时性的基础上,引入了帧间变化率这一概念,基于帧间变化率的随机因子调整策略,可以有效抑制由于时空传播机制造成的“鬼影”和孔洞的生成,在较大程度上增强了算法的检测能力。另外,基于帧间变化率和感知哈希算法的光照检测方法,在一定程度上增强了算法对于光照变化的鲁棒性,相比vibe原算法更适用于室内环境的前景检测。
附图说明
49.下面将结合附图及实施例对本发明作进一步说明,附图中:
50.图1是本发明实施例提供的改进的vibe室内实时前景检测方法的流程图。
具体实施方式
51.为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
52.请参考图1,本发明的实施例提供了一种改进的vibe室内实时前景检测方法,包括以下步骤:
53.s1:接收视频流并进行解码、预处理,得到逐帧视频图像的灰度图像。
54.s1具体包括:
55.s11:本实施例使用opencv库的videocapture函数对输入视频进行解码操作,并按照时序获取每帧视频图像;
56.s12:将获取的视频图像转换为灰度图像,具体的公式如下:
57.grey=0.299*r 0.587*g 0.114*b
58.其中r、g、b分别为彩色图像的三原色,本实施例使用opencv库的cvtcolor函数实现彩色图像到灰度图像的转换;
59.s13:按照次序使用高斯滤波和中值滤波对灰度图像去噪,本实施例中,高斯滤波使用大小为5*5的高斯内核,中值滤波使用尺寸为5的滤波模板,具体的实现方式为使用
opencv库的gaussianblur与medianblur函数。
60.s2:监测当前帧视频图像的帧数,判断是否为视频首帧,若是,则进行前景检测算法的背景模型建立并进入s1,否则,进入s3;
61.s2具体包括:
62.s21:获取视频的第一帧灰度图像,为每一像素点构建一个最大容量为n的样本集合;
63.s22:每一像素点随机选取自身八邻域的像素的灰度值加入样本集合中,直到样本集容量到达上限;
64.样本集的表达式如下:
65.sample(x,y)={vi|i=1,2...n}
66.式中,sample(x,y)为像素的样本集,(x,y)为任一像素的笛卡尔坐标值,vi为样本,n为样本个数,本实施例设置的上限数n为20。
67.s3:通过当前帧灰度图像与前一帧灰度图像计算帧间变化率;
68.s3具体包括:
69.s31:选取当前帧与前一帧的灰度图像,按照下式对任一像素点进行差分运算,得到差分灰度图:
70.d(x,y)=|fk(x,y)-f
k-1
(x,y)|
71.其中d(x,y)为得到的差分灰度图,fk(x,y)为当前帧灰度图像,f
k-1
(x,y)为前一帧灰度图像;
72.s32:判断差分灰度图中每一像素点的灰度值的绝对值是否大于阈值t,是,则修改其灰度值为255,否,则设置为0;本实施例中阈值t设置为5,具体可以根据实际情况设置;
73.s33:统计差分灰度图中灰度值为255的像素个数为num1,图像总像素个数为num2,计算帧间变化率p=num1/num2×
100%。
74.s4:判断是否发生光照突变,若是,则重新进行s2中的背景模型建立并进入步骤s1,否则,进入s5;
75.s4具体包括:
76.s41:判断由s33计算出的帧间变化率p的数值是否大于阈值t
light
,若是,则进入s42,否则,判断未发生光照突变。本实施例中,阈值t
light
设置为30%,具体可以根据实际情况设置;
77.s42:运用感知哈希算法比较当前帧灰度图像与s31得到的差分灰度图,计算两张图像的汉明距离,本实施例中,汉明距离的阈值t
enter
设置为10,具体可以根据实际情况设置,如果大于该阈值,则判断未发生光照突变,反之,则判断为发生了光照突变。
78.s5:获取当前帧视频图像的前景检测结果;
79.s5具体包括:
80.s51:对于当前帧灰度图像,将每一像素点x的灰度值与其对应的样本集sample(x)中的n个灰度值进行对比,判断样本集sample(x,y)中是否存在2个及以上灰度值与像素x的灰度值的二维欧氏距离小于阈值20,是,则将该像素的灰度值设为255,否,则设置为0,此处的阈值可以根据实际情况自行设置;
81.s52:对s51处理后的灰度图像进行形态学处理;
82.在本实施例中,使用opencv库的findcontours函数找到所有连通域,遍历所有连通域,使用opencv库的contourarea函数计算连通域的面积,对于所有面积小于阈值9(可根据实际情况设置)的连通域,视其为噪音,将其每一像素的灰度值设置为0。之后,对灰度图进行先腐蚀后膨胀的操作,具体为:使用opencv库的dilate和erode函数,腐蚀和碰着操作的卷积核大小设置为3*3。
83.s6:基于s3得到的帧间变化率,根据帧间变化率调整策略更新背景模型;
84.s6具体包括:
85.s61:根据s33求得的帧间变化率获得随机因子θ,具体如表1所示:
86.表1:帧间变化率与随机因子的对应关系
[0087][0088]
表1的数据由实验得到,适用于大部分场景。
[0089]
s62:所有灰度值为0的像素,有1/θ的几率更新自己对应的样本集。具体的更新方式为:将当前像素的灰度值随机替代当前像素对应的样本集中的一个灰度值。
[0090]
s63:所有灰度值为0的像素,有1/θ的几率更新自己邻域像素对应的样本集。具体的更新方式为:将当前像素的灰度值随机替代当前像素的八个邻域像素对应的样本集中的一个灰度值。
[0091]
s7:判断是否存在下一帧视频图像,若是,则进入s1,否则,检测流程结束。在本实施例中,使用opencv库的isopened函数判断是否存在下一帧视频图像。
[0092]
为了验证本发明的有益效果,本实施例选取changedetection2012数据集中的七个室内子集进行了与5中常用的前景检测方法(混合高斯模型gmm、三帧差法tfd、最邻近节点算法knn、码本算法codebook、视觉背景提取器算法vibe)进行了对比实验,评估指标为误分类百分比pwc(percentage of wrong classifications)和f值(f-measure)两个指标。具体的实验结果如表2、3所示:
[0093]
表2本发明方法与5种常用的前景检测方法的pwc对比
[0094][0095]
表3本发明方法与5种常用的前景检测方法的f值对比
[0096][0097]
在一些实施例中,还提供了一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序运行时用于实现所述的改进的vibe室内实时前景检测方法的步骤。
[0098]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0099]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
[0100]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献