经过前面的运动检测与阴影抑制,我们可以得到一副前景二值图像。因为视频图像的噪声和轻微抖动无法避免,而且混合高斯背景建模算法作为一种像素级的算法,目标与背景之间颜色和灰度相似的情况也时有发生,最后得到的二值图像里前景区域不一定是完整的运动对象,往往有许多孤立的噪声白点、孤立的小区域和小间隙。因此必须对前景图像进行后处理,消除噪声并连接空洞,便于后期通过标记统计目标参数。
目前一般使用数学形态学的方法来处理前景图像。数学形态学有膨胀、腐蚀、开/闭运算四个基本操作。
1.4.1 二值图像膨胀
膨胀算符为,图像X与结构元素B膨胀定义如下:
其中是结构元素B关于原点对称的映射。X被B膨胀的结果由所有位移x后并能击中图像X的所有像素点的集合构成,也就是说和A至少有一个像素是重叠的,示意图如图2-3:
图1-4 图像膨胀操作示意图
上图中X是我们要处理的图像,B是结构元,又称刷子,是一副比较小的图像。对于任意一个在上图中阴影部分的点a, 击中X,所以X经过结构元B膨胀后的结果就是上图阴影部分,包括了原来X的所有范围以及X周围的一圈,这也是这一操作得名的原因。
1.4.2 二值图像腐蚀
腐蚀运算可以看做膨胀运算的对偶运算,运算符为,定义如下:
腐蚀运算即结构单元B位移x后得到,若在X的范围之内,我们记下这个点x,所有满足上述条件的x点的集合构成了X被B腐蚀的结果,示意图如下图2-4:
图1-5 图像腐蚀操作示意图
X是我们要处理的图像,B是结构元,可以看到对于任意一个在阴影部分的点x都有 包含于X,所以阴影部分就是X被B腐蚀的结果。阴影部分只是在X的范围之内的一个部分,就像X的周围被剥掉了一些,这也是腐蚀得名的原因。
1.4.3 二值图像开操作
开/闭运算其实是膨胀和腐蚀操作的组合[21]。将腐蚀和膨胀级联使用,给定目标图像X和结构元素B,X对B的开运算定义为:
(2.22)
可以看到,开运算其实就是X被结构元素B先腐蚀后膨胀。开运算操作可以去除一些孤立的小点、毛刺和小桥,且不会影响区域总的位置和形状。如下图2-5是我们对一副运动检测后二值前景图像进行形态学开运算处理的效果,右边图像为左边图像开操作处理后得到的图像。可以看到左边图像中间的一个孤立的小斑点,运算后得到了去除,但图像下方人的前景掩码经过操作后头部也丢失了。
图1-6 前景图像开操作示意图
1.4.4 二值图像闭操作
如果X被结构元素B先膨胀,然后再腐蚀,这个运算就称为X对B的闭运算,用表示:
闭运算能够填平前景区域小孔,对较小的裂缝也能有效弥合。如下图2-6所示,可以看到左边图像里两个靠得比较近的人的前景掩码,经过闭运算操作后就完全连接在一起成了一个区域,如右图所示。
图1-7 前景图像闭操作示意图
2 运动目标跟踪
在前面通过目标检测在序列图像中分割出属于运动目标的图像区域,接下来需要对运动目标进行跟踪。目标跟踪就是在序列图像不同时刻检测到的目标之间根据目标的某些特征在时间上建立起联系,通俗一点说就是跟踪上的目标在图像序列的不同帧里,始终赋予稳定一致的编号。目标跟踪在计算机视觉领域里是一个充满挑战的问题。在视频分析领域,对多个目标跟踪的主要困难是在相邻两帧间建立起目标正确的关联关系,尤其是在复杂场景里多个相似目标之间存在遮挡、合并分离等情况时,确定目标之间的正确对应关系变得很困难。
2.1 多目标跟踪关联
2.1.1 特征代价函数
为了降低系统的复杂度,使系统具备实时处理性能。运动检测阶段得到的目标我们使用它们的外接矩形来表征。在跟踪阶段,相邻两帧的目标链间进行匹配关联,建立匹配矩阵。这里我们采取了一种简单的特征融合代价函数来度量两个目标的相似性。经过运动检测、分割、形态学滤波去噪、标记等过程后,我们统计各个检测到的团块的信息,可以得到团块的形心坐标,外接矩形区域。利用这些信息我们计算代价函数。
2.1.2 跟踪流程
(1)跟踪启动并整理已捕获目标链
(1.1)如果当前帧号是第一帧,所有检测到的目标都被认为是新目标,设置一个初始的置信度。
(1.2)如果不是第一帧,检查已捕获目标列表。对目标做线性滤波,预测其在当前帧的位置。目标的位置用其连通区域外接矩形中心表示,令为第i个目标在第K帧里的位置。
(2)目标关联:这部分也是多目标跟踪的核心,我们建立了一个代价函数矩阵记录已捕获链中各个目标和当前帧检测目标链中各个目标的代价函数值,同时建立一个关联矩阵确定目标最优的对应关系。对于捕获链中的第i个目标,我们能够在当前检测链中找到使得代价函数最小的检测目标j。同时进一步比较形心距离和一个距离门限。
【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!
网友评论
共有0条评论 点击查看全部>>24小时阅读排行
本周阅读排行